Latest: v6.0.1

Release History

From the initial release to the latest — every version, every capability added, every fix applied.

v6.0.1"Complete Asteroid Identity Catalog"Latest2026-07-27
Added
  • +A reproducible canonical name-to-NAIF artifact and metadata receipt bind the package to finalized asteroid release 2026.07.27.1.
Changed
  • ~Python lookup, REST search, and downstream catalog consumers can address all 9,974 identities in the matching 399-shard external ephemeris release.
Fixed
  • MPC 20395 now uses its released canonical identity Jacquet instead of the numeric placeholder Asteroid20395.
Validation
  • Target, unified-ledger, shard, canonical-name, reverse-lookup, REST-search, and cross-platform artifact-hash checks cover the patch.
v6.1.0"Contract and Release Integrity"2026-07-28
Added
  • +Exact dated monthly-profection chronology preserves civil-time policy, UTC and Julian boundaries, active-month ownership, and timezone provenance.
  • +Aspect responses expose typed motion state, and small-body releases expose immutable manifests, checksums, notices, and loader receipts.
Changed
  • ~The chronology-aware Hellenistic profile enforces stricter cross-component method, completeness, ordering, and provenance invariants.
  • ~Unified small-body resolution requires family qualification when asteroid and comet names collide, while dedicated family routes retain scoped aliases.
  • ~Optional-server enums use Moira's Python 3.10-compatible StrEnum boundary, and deprecated Decennial request selectors accept only omission or explicit null.
Fixed
  • Longitude seam, relative stationary-state, duplicate pattern-edge, and complete Grand Sextile behavior are deterministic.
  • Generated publication consumes tracked Git sources, and catalog identity bytes remain stable across Windows and POSIX checkouts.
  • Metadata-only asteroid and comet manifests retained in the wheel now match the exact immutable release receipts without advertising absent shards as installed.
  • Malformed progression requests validate policy, datetime, body, and house-frame inputs before implicit kernel resolution.
Validation
  • Hellenistic goldens and contract parity, aspect and pattern adversarial cases, small-body release and collision gates, Python 3.10 server smoke, and installed-artifact identity cover the release.
v6.0.1"Complete Asteroid Identity Catalog"2026-07-28
Added
  • +A release-bound canonical asteroid identity artifact makes every body in external release 2026.07.27.1 addressable by its released name.
Changed
  • ~The bundled canonical asteroid registry expands from 1,382 to 9,974 unique identities and corrects the former Asteroid20395 placeholder to Jacquet.
Validation
  • Target, unified-ledger, shard, registry, reverse-lookup, REST search, and installed-wheel evidence agree on the exact release identity.
v6.0.0"Hellenistic Engine Completion"2026-07-26
Added
  • +A score-free typed Hellenistic chart profile composes exact admitted planetary, aspect, lot, profection, Decennial L1/L2, and Zodiacal Releasing receipts.
  • +Source-owned goldens and generated capability/API inventories make the Hellenistic contract drift-detectable.
Changed
  • ~Hellenistic compatibility labels, booleans, and lists are projections of typed component truth rather than fabricated defaults.
  • ~Profection, Decennial, lot, solar-condition, besieging, Zodiacal Releasing, and whole-sign superiority semantics now preserve explicit policy and not-evaluable states.
  • ~Breaking: nine formerly curated Hermetic-decan symbols, including decan_hours(), were removed with no supported product replacement; the Planet Inspector Face surface remains available.
  • ~Decennial output is admitted only at L1/L2; requests above level 2 now fail validation.
Fixed
  • Dorothean water triplicity, verified lot reversals, Halb/Hayz, solar boundaries, besieging completeness, and Zodiacal Releasing boundary behavior were corrected.
Validation
  • Strict source-golden, contract-parity, unified-profile, OpenAPI, generated-inventory, Hermetic-containment, documentation, and release-identity gates cover the release.
v5.2.3"Installed Small-Body Manifest Readiness"2026-07-25
Fixed
  • Automatic discovery now distinguishes metadata-only wheel manifests from installed asteroid and comet ephemerides.
  • Explicitly configured and partially installed manifest sets remain fail-visible.
Validation
  • Metadata-only, complete, partial, and explicit discovery modes were exercised through facade readiness, server startup, /ready behavior, and a wheel-shaped isolated install.
v5.2.2"Node Frames and Proper25 Families"2026-07-25
Added
  • +Mean Node and Mean Lilith now expose an explicit mean-equinox versus true-equinox nutation policy.
  • +The admitted asteroid-family catalog now contains 342 families, 200,726 unique numbered asteroids, and 221,095 many-to-many membership rows.
Fixed
  • True lunar-node geometry is formed from the instantaneous osculating plane and transformed through the declared frame chain.
  • Family lookup and REST transport preserve nested and overlapping memberships while retaining one deterministic display-primary family.
Validation
  • ERFA/IERS mean-node authority, true-node crossing invariants, named Swiss corroboration, catalog hashes/counts/overlaps, REST transport, and annotation refresh were exercised.
v5.2.1"Spatial House-Boundary Geometry"2026-07-23
Added
  • +An opt-in immutable house-boundary vessel exposes admitted great-circle planes and Placidus semi-arc event curves with effective-system and availability truth.
Validation
  • Plane-defined and Placidus boundaries, southern and high-latitude cases, sidereal labels, fallback, public exports, and REST serialization were exercised.
v5.2.0"Global Eclipse Circumstances and Cartography"2026-07-23
Added
  • +First-class solar global circumstances include contacts, central-line limits, greatest eclipse, greatest duration, conjunctions, states, gamma, Besselian elements, and the WGS-84 footprint.
  • +First-class lunar global circumstances expose mode-pure native and NASA-compatible astrometry, shadow geometry, magnitudes, contacts, durations, Delta T, and ephemeris identity.
  • +Projection-independent adaptive spherical magnitude and obscuration cartography preserves convergence and antimeridian topology.
  • +Typed REST endpoints expose solar global circumstances, solar cartography, and lunar global circumstances.
Fixed
  • Near-singular hybrid horizon topology and polar/seam contour extraction were hardened without weakening component invariants.
Validation
  • NASA/GSFC Besselian and hashed lunar-figure corpora provide the primary bounded evidence; named EclipseWise rows provide separate cross-model corroboration.
v5.1.2"Eclipse Geometry Hardening"2026-07-22
Added
  • +A NumPy-free native solar-footprint substrate accelerates bounded candidate discovery while Python retains eclipse doctrine and topology.
  • +A provenance-recorded NASA/GSFC corpus covers all 229 lunar eclipses from 1901 through 2000.
Fixed
  • Solar footprint horizon-root discovery and exact sunrise/sunset junction assembly were repaired for affected 2027–2031 events.
  • Lunar greatest-eclipse geometry, classification, contacts, and candidate admission now share the declared physical event state.
Validation
  • All 229 NASA events match the published type family, and forward, backward, and bulk searches recover the complete ordered sequence with greatest-eclipse TT residual below 55 seconds for that corpus.
v5.1.1"DE440 Historical Delta-T Repair"2026-07-22
Fixed
  • Historical, basis-sensitive DE440/LE440 charts now bind Delta T to the content-identified kernel's admitted tidal basis while unknown DE/LE identities continue to fail closed.
Validation
  • Content-derived identity, historical clock conversion, unchanged modern direct-EOP behavior, and retained unknown-identity refusal were exercised.
v5.1.0"Source-Scoped Policy and Evidence"2026-07-21
Added
  • +Dignity computation now exposes independent Halb and Oriental/Occidental inclusion policies across the engine and all six REST routes.
  • +Bulk solar and lunar eclipse ranges use conservative native TT syzygy candidates while Python retains time policy, physical refinement, classification, and result assembly.
  • +The admitted Pancha Pakshi surface is explicitly source-scoped, provenance-bearing, policy-explicit, and has no ambient universal default.
  • +A bounded Gauquelin g5 historical validation program records its dataset, plus-zone policy, comparator, and tolerances.
Changed
  • ~Planetary Hours now consumes the shared local-solar-day boundary while retaining its public vessels and semantics.
Fixed
  • Missing meridian crossings inside a bounded search window are represented as absent events instead of invented results.
  • Nakshatra and Panchanga phase boundaries now share exact half-open ownership rules.
Validation
  • Pancha source tests establish source fidelity and invariants rather than empirical efficacy; Gauquelin evidence is limited to its named corpus; snapshots remain regression evidence.
v5.0.0"Declination & Delta-T Truth"2026-07
Added
  • +First-class declination aspects — Parallel and Contra-Parallel as their own aspect domain, with declination inputs and a motion witness that attests applying/separating from computed declination speeds (POST /v1/aspects/from-declinations, /v1/aspects/declination-motion-witness, /v1/aspects/motion-witness)
  • +Hardened synastry surface — contacts, directional overlays, condition profiles, contact/overlay relations, and a cross-chart network product; caller-supplied chart labels are preserved end-to-end (overlay source/target labels, network node identity as body:<label>:<body>) with computation truth on overlay products (POST /v1/synastry/*)
  • +Moon connection flow — the Moon's applying connections as an ordered flow product (POST /v1/aspects/moon-connection-flow)
  • +Secondary progressed declination — progressed declination positions with a full reduction variant (POST /v1/progressions/secondary-declination, /reduction)
Changed
  • ~Delta-T truth — historical Delta-T is now explicitly bound to the loaded kernel's declared lunar tidal basis and translated to it, instead of applying a table silently; pre-1972 civil-time handling no longer displaces instants through a placeholder
  • ~Motion semantics — retrograde and station flags now derive from the published corrected longitudes, so speed claims and printed positions cannot disagree near stations
  • ~Relationship results (synastry, composite, Davison) are immutable vessels after validation — downstream code reads them or copies them, never edits them
  • ~Chaldean bounds split into sect-specific day and night tables; the ambiguous single table is removed
  • ~Eclipse computation overhaul with strengthened external validation of contact circumstances
  • ~GET /ready now returns HTTP 503 while the engine is warming (same response body), so monitors distinguish not-ready from broken
v4.2.1"Relationship REST Completion"2026-07
Added
  • +The composite and Davison chart responses now carry the engine's own aspect web as a required member — the same tiered doctrine as /v1/aspects/from-longitudes, retiring client-side aspect computation (POST /v1/composite/chart, /v1/davison/chart)
  • +Aspect policy knobs (tier, orb factor, node policy) propagate through the relationship routes, and the computation truth echoes the resolved values actually used
Changed
  • ~Motion honesty on relationship aspects — composite and Davison positions carry no speed truth, so their aspect events report applying as null with motion_semantics declared, rather than inventing direction
  • ~Relationship party inputs require a timezone-aware datetime — a naive datetime is rejected with an explicit validation error instead of an implicit UTC assumption
v4.2.0"Positions-In Aspects & Western Electional"2026-07
Added
  • +Aspects from caller-supplied longitudes — any set of named ecliptic positions in, the engine's full tiered aspect doctrine out (major / common minor / extended minor tiers, orb factor, node policy), each event carrying classification, family, direction, and orb provenance (POST /v1/aspects/from-longitudes)
  • +Western electional: Ramesey's Moon-condition test as a cited electional product (POST /v1/electional/western/ramesey-moon-condition)
Fixed
  • Davison double time-correction — 4.1.0 applied the UT1-to-TT conversion twice on the Davison path, displacing every body by its own speed across a shared ~56.5 s offset; verified externally by speed-proportional displacement analysis, now zero across all bodies
v4.1.0"Astrodynes"2026-07
Added
  • +Church of Light natal astrodynes — dignity, house power, aspects, parallels, harmony/discord, mutual reception, aggregation, summary, and network products, validated against three captured Church of Light reports under explicit-geometry semantics (POST /v1/astrodynes/chart, /geometry, /doctrine)
  • +Church of Light progressed astrodynes — fixed carry, aspect power, terminal, practical distribution, minor/transit, reenforcement, and total-influence doctrine, with exact and manual-staged arithmetic kept distinct (POST /v1/astrodynes/progressed/*)
  • +Chart-backed progression geometry — Limiting Date, major and Minor Ephemeris Dates, progressed M.C./Ascendant, radical/major/minor/transit terminal derivation, and complete chart assembly (POST /v1/astrodynes/progressed/chart)
  • +Progressed contact search and integration — bounded one-degree entry/perfection/closest-approach/exit search, named minor reenforcement peaks, and Moira-owned variable-rate quadrature with visible numerical policy and convergence evidence (POST /v1/astrodynes/progressed/search, /integrate)
Changed
  • ~Paran and rise/set solver rework — single-evaluation nutation in the sidereal-time path, closed-form star hour-angle bracketing with exact refinement, and crossing memoization; event times unchanged within validated tolerance, star-work and paran-field computations roughly 20× faster
  • ~Native fixed-star heliacal search — differential-validated against the governing Python implementation (event times within 0.05 s, series parity to 1e-13° against the table evaluator and ERFA); batch heliacal searches drop from minutes to seconds
Fixed
  • The former native visibility path (truncated nutation series, missing setting thresholds, divergent parallax convention, held Delta-T) was replaced wholesale; Python remains the governing implementation
v4.0.1"Star Parans"2026-07
Added
  • +Tiered fixed-star paran canon — 51 stars tagged working canon / royal / Behenian / Ptolemaic with availability and defaults (GET /v1/parans/star-canon)
  • +Per-body crossing inventory on paran search — every requested body reports found / always above horizon / always below horizon / solver failure for all four mundane circles, so an absent paran is explained, never silent
  • +Named paran policy presets (permissive, star-planet-only) on search and natal routes
  • +Birth-moment angular contacts as a distinct product from day-parans (POST /v1/parans/natal-angular-contacts), following the Brady distinction
  • +One-call website paran packet — canon, parans with inventory, angular contacts, and heliacal events in a single response (POST /v1/website/parans/packet)
  • +Facade exports for the full heliacal surface (heliacal rising/setting events, catalog batch, arcus visionis policy)
v4.0.0"The Vedic Canon"2026-07
Added
  • +Yoga engine — 60 classical yogas across six families (Pancha Mahapurusha, Chandra, Surya, all 32 Nabhasa, Raja, Dhana), each returned as a proof object: formation conditions with observed evidence, cancellation (bhanga) clauses evaluated first-class, and per-yoga primary-source citations (POST /v1/yogas/evaluate)
  • +Shadbala completion — Bhava Bala (house strength), inline Ishta/Kashta Phala on every planet, Graha Yuddha strength-transfer disclosure, the exact ayanamsha degrees used, and a single-call POST /v1/shadbala/chart/full envelope (chart + profile + network + bhava from one derivation)
  • +Upagrahas — the five kalavelas (Gulika, Kala, Mrityu, Ardhaprahara, Yamaghantaka) and the five Sun-derived upagrahas, with policy-selectable computation modes (POST /v1/upagrahas/*)
  • +Avasthas — Baladi, Jagradadi, Deeptadi, and the six Lajjitadi states, kept as separate per-source rule tables (BPHS / Saravali / Jataka-Parijata / Phaladeepika) rather than merged
  • +Jaimini extended — rasi drishti, arudha padas, argala with virodha, karakamsa, and first-cycle Chara Dasha, with competing classical lineages named as explicit policy rather than silently chosen (POST /v1/jaimini/extended/*)
  • +Ashtakavarga refinements — kakshya-level transit evaluation and Shodhya Pinda, validated to the digit against BPHS's own worked example
  • +Vimshopaka Bala + Vargottama detection across all four classical varga groups (POST /v1/varga/vimshopaka)
  • +Tara Bala + Chandra Bala as a natal-personalized muhurta overlay; Sade Sati phase classification and kernel-timed windows (POST /v1/sade-sati/*)
  • +Numbered periodic comet catalog — 497 comets (1P–516P) from JPL Horizons at sub-milliarcsecond interpolation fidelity, as sharded Type-13 kernels
  • +Unified asteroid catalog — 1,382 asteroids (up from 369) across all 119 families, rebuilt from JPL Horizons
Changed
  • ~Breaking: native-only kernel reader — the jplephem runtime fallback is removed; unsupported SPK segment types now raise an explicit error instead of silently falling back
  • ~Breaking: small-body kernels (comets, asteroids) now load from sharded Type-13 manifests distributed via download, rather than shipping in the wheel
  • ~Breaking: canonical comet identity is now the standard numbered designation (e.g. 1P/Halley), with curated short aliases still accepted as input
Fixed
  • Primary Directions — Morinus directions corrected to Morin's Book 22 law; converse directions now computed by role exchange rather than arc negation
v3.4.3"Draconic Chart Frames"2026-07
Added
  • +Draconic (nodal-zodiac) chart frames — new moira.draconic module in the Python library with facade integration: recast any chart into the draconic frame, with 0° Aries anchored to the Moon's north node (true or mean)
  • +Three public REST routes — POST /v1/draconic/chart, /v1/draconic/positions, and /v1/draconic/longitude: full chart recast, bulk position transform, and single-longitude transform, each reporting the node anchor and rotation applied
Changed
  • ~Chart-shape classification: bucket and bowl definitions clarified in documentation and docstrings (classification behavior unchanged)
  • ~Changelog history reconciled across the 3.4.x line
v3.4.2"REST Pipeline Visibility Patch"2026-06
Added
  • +Per-stage reduction breakdown on POST /v1/pipeline/positions/planet — ordered records for each step: geometric geocentric base, light-time iteration, gravitational deflection, annual aberration, IAU 2006 frame-bias, IAU 2006 precession, IAU 2000A nutation, and optional topocentric parallax
  • +Pipeline response now returns reduction.stages, total_delta_arcsec, stage_longitudes, and geocentric_longitude
Fixed
  • Reduction-pipeline consumers no longer fall back to internal plumbing labels (datetime_to_jd, chart_assembly, all_planets_at) with zeroed or missing stage values — final planetary position semantics are unchanged
v3.4.1"REST Pipeline Visibility"2026-06
Added
  • +Planetary reduction pipeline exposed through the public REST API with canonical per-stage output
v3.4.0"REST API Expansion"2026-06
Added
  • +Broader REST coverage of the engine's computation surface through typed routes
v3.3.02026-06
Added
  • +Expanded FastAPI surface — typed REST route families for Vedic, classical, spatial, catalog, specialist, electional, orbital, phenomena, sidereal-utility, and harmonic products
  • +Facade convenience parity — Moira wrappers for Vedic, Huber, Nine Parts, Lord of the Orb, and sidereal-utility surfaces
  • +Astrocartography rendering support — rendering-adapter workflow and server support for map-oriented consumers
Changed
  • ~REST reference and architecture ledgers updated to reflect the live server route registry
v3.2.22026-05
Added
  • +3I/ATLAS interstellar visitor support — positions for the third confirmed interstellar object
  • +Variable star Algol API — eclipsing binary period and minimum prediction
  • +Multiple star system support — Sirius AB, Alpha Centauri AB, and other resolved binaries
  • +Harmograms H1–H5 spectral harmonic engine
  • +Hermetic decan research catalog (historical; quarantined and removed from the curated product contract in v6.0.0)
  • +Zodiacal Releasing with Lot of Fortune and Lot of Spirit
  • +Hyleg/Alcocoden longevity calculation
  • +Saros series classification for eclipse events
  • +Jones chart shapes (Splash, Bundle, Bowl, Bucket, Locomotive, Seesaw, Splay)
  • +Synastry, composite, and Davison chart support
Changed
  • ~Architecture upgraded to dual-substrate: Python API + C++17 native extension (_moira_native) via pybind11
  • ~SPK reader, nutation, coordinate transforms, and light-time iteration moved to native C++ for performance
v3.0.0"The Sovereign Zenith"2026-04
Added
  • +moira-kernel-manager GUI for kernel installation and management
  • +moira-daf-writer CLI tool for DAF/SPK file authoring
  • +Full Vedic surface (moira.vedic) — Nakshatras, Panchanga, Jaimini, Ashtakavarga, Shadbala
  • +Alternate Dasha systems: Ashtottari, Yogini
  • +Planetary hours calculator
  • +Huber method: house zones, age point, chart intensity profile
  • +Astrocartography, local space, and geodetic chart support
  • +Galactic coordinate frame
  • +Uranian / Hamburg School bodies
  • +Occultations and close approaches engine
  • +Solar System Barycenter chart
  • +Planetocentric positions
  • +Received-light (light-cone) positions
  • +Constellations oracle (48 IAU constellations)
  • +Sothic cycle and Egyptian calendar
Changed
  • ~Four-tier import surface formalized: moira.essentials → moira.classical → moira.predictive → moira.facade
  • ~moira.vedic added as parallel Vedic-first surface
Fixed
  • Polar house solver edge cases at latitudes above 66°N/S
  • Ayanamsha epoch consistency across all 40+ systems
v2.0.02026-02
Added
  • +Primary directions engine with explicit latitude doctrine
  • +Heliacal and acronychal phenomena (Schaefer arcus visionis model)
  • +Parans and paran field analysis
  • +Asteroid family classification (Nesvorný et al. 2015 catalog — 143,711 bodies in 119 families)
  • +Orbital elements on demand from SPICE state vectors
  • +star_light_time_split() — observed vs. true stellar position
  • +Topocentric fixed star positions using Gaia DR3 parallax
  • +Stellar color from Gaia DR3 BP-RP photometric indices
  • +368 named minor bodies callable by name (full main-belt canon + centaurs + TNOs)
  • +Interstellar visitor support: 1I/'Oumuamua, 2I/Borisov
Changed
  • ~Fixed star registry rebuilt from Gaia DR3 (1,809 curated named stars)
  • ~ΔT model upgraded to four-component physical model (tidal, core-mantle, cryosphere, IERS residual)
  • ~delta_t_hybrid_uncertainty() added for calibrated ±1σ uncertainty reporting
Fixed
  • Light-time iteration convergence for high-eccentricity TNO orbits
  • Proper motion propagation epoch consistency
v1.5.02025-11
Added
  • +Firdaria time lord system (diurnal and nocturnal)
  • +Profections (annual and monthly)
  • +Solar and lunar returns
  • +Planet returns
  • +Stations and retrograde periods engine
  • +Void-of-course window calculator
  • +Moon phase engine (next_moon_phase, moon_phases_in_range)
  • +Greatest elongation, perihelion, aphelion
  • +Antiscia and contra-antiscia aspects
  • +Midpoints and planetary pictures
Changed
  • ~Aspect engine refactored with AspectPolicy and AspectDefinition for full customization
  • ~House system coverage expanded to 17 systems (expanded to 22 in v3.0.0)
Fixed
  • Secondary progression chart date boundary handling
  • Solar arc direction sign convention
v1.2.02025-08
Added
  • +Vimshottari Dasha with full antardasha and pratyantardasha periods
  • +Nakshatra positions for all planets
  • +Navamsa, Saptamsa, Dashamansa, Dwadashamsa, Trimshamsa divisional charts
  • +Vedic dignity system (exaltation, moolatrikona, own sign, great friend)
  • +Planetary relationships (natural and temporal)
  • +Panchanga (Tithi, Vara, Nakshatra, Yoga, Karana)
  • +Jaimini Karakas and Atmakaraka
  • +Lunar mansions (28 Arabic mansions)
  • +Essential dignities: domicile, exaltation, triplicity, term, face, detriment, fall
  • +Almuten Figuris
  • +Mutual receptions
Fixed
  • Sidereal longitude calculation for retrograde planets near 0°
v1.0.0"Initial Release"2025-05
Added
  • +Core Moira facade class with auto-kernel detection
  • +Full planetary reduction pipeline: SPK → light-time → deflection → aberration → precession → nutation → ecliptic
  • +JPL DE430/DE440/DE441/DE431/DE432 kernel support
  • +Natal chart positions for all classical planets + modern planets
  • +17 house systems including Placidus, Koch, Regiomontanus, Campanus, Whole Sign, Equal, Porphyry (expanded to 22 in v3.0.0)
  • +Aspect engine with configurable orbs and aspect tiers
  • +Arabic Parts / Lots (499 named parts)
  • +Fixed stars (initial catalog from Hipparcos)
  • +Ayanamsha system with 40+ named systems
  • +Julian Day utilities (jd_from_datetime, datetime_from_jd, calendar_from_jd)
  • +Transits engine (find_transits, next_transit)
  • +Secondary progressions and solar arc directions
  • +IAU 2006 precession + IAU 2000A nutation (1,365 lunisolar + 687 planetary terms)
  • +MIT License