All notable changes to the Moira project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- PyPI macOS Wheel Runners: Replaced the retired
macos-13Intel runner with the supportedmacos-26-intellabel and moved the arm64 macOS wheel job tomacos-26.
- This is a packaging and release-workflow patch release. No runtime computation, REST route, or facade semantics changed from
3.3.0.
- PyPI Wheel Matrix Scope: Constrained Linux and Windows release wheels to 64-bit architectures and updated cibuildwheel to
4.1.0so the release workflow can build the intended CPython 3.10-3.14 wheel set without entering unsupported 32-bit native-extension targets.
- This is a packaging and release-workflow patch release. No runtime computation, REST route, or facade semantics changed from
3.3.0.
- PyPI Wheel Matrix Build Constraints: Updated the PyPI release workflow to use current cibuildwheel dependency constraints so isolated wheel builds can satisfy the
packaging>=24.2build requirement on macOS and other runners.
- This is a packaging and release-workflow patch release. No runtime computation, REST route, or facade semantics changed from
3.3.0.
- PyPI Wheel Build Isolation: Declared
packaging>=24.2in the build-system requirements so isolated wheel builds satisfy modern setuptools license-expression normalization on GitHub Actions.
- This is a packaging-only patch release. No runtime computation, REST route, or facade semantics changed from
3.3.0.
- Expanded FastAPI Surface: Admitted a large set of typed REST route families for Vedic, classical, spatial, catalog, specialist, electional, orbital, phenomena, sidereal utility, and harmonic products.
- Server Transport Standards: Added backend standards and transport design records for the newly admitted route families, including explicit deferrals for doctrine-heavy or specialist surfaces.
- Facade Convenience Parity: Added
Moiraconvenience wrappers for admitted Vedic, Huber, Nine Parts, Lord of the Orb, and sidereal utility surfaces while preserving owner-module doctrine. - Astrocartography Rendering Support: Added a rendering-adapter workflow and server support for map-oriented astrocartography consumers.
- REST Reference Truth: Updated the REST reference and architecture ledgers to reflect the live server route registry and facade/init gap audit.
- Route Admission Discipline: Formalized post-Phase-9 and post-Phase-10 workflow boundaries for sidereal chart derivation, small-body/star astrocartography admission, and rendering support.
- This release expands public transport, facade, standards, and documentation surfaces. The changes are additive and route-supporting; no intentional breaking public API changes were made.
- Release Lineage: Reconciled the
v3.2.1release branch intomainso the release tag is contained in current history. - House Boundary Membership: Preserved the documented half-open interval rule for
assign_house(), so longitudes strictly below a closing cusp remain in the prior house while exact cusp hits enter the opening house. - Package Data Policy: Made wheel builds obey the declared package-data policy so
.bspkernels are not silently bundled into PyPI artifacts. - Version Truth: Aligned runtime metadata and release-facing doctrine tests with the
3.2.4package version.
- Primary Directions REST Surface (P8-14): Completed the dedicated per-significator condition surface with a first-class typed
PrimaryDirectionsConditionResponse, exposingevaluate_primary_direction_conditionresults through the/profileendpoint wheninclude_condition=true. - Policy Ergonomics: Extended conventional time-key derivation (
_get_chosen_key) to all seven supported presets in the primary directions router, with explicit client key override always taking precedence.
- Improved hardening and documentation around combined policy + submitted-arcs + enrichment paths in the primary directions transport layer (P8-14). Remaining 422 cases on the richest combinations are now explicitly documented rather than masked.
- High-Latitude House Solver: Added experimental branch-aware Placidus solver (
experimental_placidus) to search for unique ordered cusp cycles under polar conditions. - Supplemental Kernel Diagnostics: Enhanced engine initialization to handle optional supplemental kernels and report missing ones gracefully.
- Adversarial House Singularities: Corrected coordinate normalization at 360-degree bounds, zero-vector inputs, and resolved julian day/SPK evaluation edge cases (DEF-004/005/006 and TDF-001/002/003).
- Native Planetary Evaluator: Introduced C++
NativePlanetaryEvaluatorexecuting center chaining, rotation matrix operations, and light-time iterations natively. - SPK Kernel Compiler (GUI): Added Tkinter-based custom SPK Type 13 builder utility (
moira-daf-writer). - Aspect Properties: Added
is_partileandis_platicproperties toAspectData. - Zodiacal Helpers: Added
house_offunction inmoira.houses. - Sovereign Shards: Bundled Git LFS-tracked Type 13 asteroid kernels (
sb441_type13) for license-independent asteroid fleet calculations.
- Asteroid Pipeline: Routed asteroid evaluations through the shared apparent reduction pipeline (
_apparent_geocentric_ecliptic).
- Native House Engine: Integrated C++ native house system engine bindings.
- Immutable Result Semantics: Frozen dataclass structures across all primary coordinate and chart outputs to enforce immutability.
- Sovereign Star Registry: Full implementation of a license-independent, Gaia DR3-anchored registry of 1,809 named stars with sub-arcsecond epoch propagation.
- Harmograms Engine: Mathematically explicit research engine for planetary intensity spectra (Strata H1-H5), including zero-Aries parts and spectral projection.
- Astrocartography (ACG): Planetary lines (MC, IC, ASC, DSC) and zenith-nadir calculations with full topocentric support.
- Multiple Star Systems: Keplerian orbital mechanics for visually resolvable binaries (Sirius AB, Alpha Centauri AB) across VISUAL, WIDE, SPECTROSCOPIC, and OPTICAL types.
- Solar/Lunar Eclipse Cartography: Besselian sample-based shadow band and contour extraction.
- Void of Course Moon: Integrated window detection and last-aspect analysis.
- Jones Chart Shapes: Automatic temperament type classification (all 7 Jones shapes).
- Facade Refactor: Introduced
CoreFacadeMixinand a unified constants library to modularize astronomical calculations. - Registry Performance: Optimized star lookup speeds through binary-mapped substrate headers.
- Traditional Dignities: Complete Hellenistic and Medieval dignity suite including Sect, Hayz, Domicile, Exaltation, Triplicity, Terms, and Face.
- Predictive Techniques: High-fidelity implementations of Firdaria, Zodiacal Releasing (Valens method), and Annual/Monthly Profections.
- Vedic Suite: Comprehensive Jyotish tools including Vimshottari Dasha, Varga/divisional charts (D9, D10, D12, etc.), Shadbala, Ashtakavarga, and Panchanga.
- Longevity Engine: Hyleg and Alcocoden calculation with explicit planetary condition profiling.
- Ayanamsa Systems: Implementation of 40+ sidereal systems including star-anchored "True" ayanamsas.
- Primary Directions: Placidus semi-arc and mundane directions with speculum computation.
- Heliacal Phenomena: General visibility surface (V5) for rising/setting, acronychal events, and lunar crescent visibility.
- Fixed Star Lore: Integration of 499 Arabic Parts (Lots) and 36 Hermetic decans with ruling stars.
- Phase α Accuracy Certification: Transition to a sub-arcsecond accurate substrate grounded in IAU ERFA/SOFA standards.
- JPL DE441 Support: Integration of high-precision long-term planetary ephemerides.
- IAU 2006 Standards: Implementation of the full IAU 2000A/2006 precession and nutation models.
- Relativistic Reduction Pipeline: Geometric positions corrected for light-time, gravitational deflection, annual aberration, and frame bias.
- Unified Facade: Introduction of the
Moiraclass andChartobjects as the stable public surface.
- Initial Stable Release: Core planetary positions, house systems (17 systems), and zodiacal aspects.
- Kernel Management: Integrated CLI and GUI tools for JPL kernel acquisition and configuration.