moira

Compatibility Notes - Moira 6.10.0

Upgrade boundary

Moira 6.10.0 follows 6.9.9. Python 3.10 through 3.14 remain supported. The required native extension and optional server extra retain their existing ownership. No dependency on an external astrology engine is introduced.

Named IANA zones require an installed timezone database, provided by the OS or tzdata. Windows installations commonly need the latter or an explicit PYTHONTZPATH. Missing data fails explicitly; fixed UTC offsets remain usable without an IANA database. See the daily Panchanga standard for that contract.

Observable corrections

New policies are explicit

Existing harmonic varga defaults remain. classical_derived_linear is an explicit D60 degree attribution, not a claim of a direct classical degree prescription. Alternative Chara and Argala profiles do not silently replace the legacy method.

Kalachakra requires bphs_santhanam_longitude_row_cycle_v1, supports levels 1 and 2, and returns nine major-period occurrences. Source-only supplied sidereal calculation requires no kernel. Date composition requires the serving ephemeris; calendar projection requires an explicit savana_360 or julian_365.25 clock. The calendar uses jd_utc; astronomy separately records UT1, TT and TDB. Positive source intervals that cannot be represented at the requested Julian date fail explicitly instead of being rounded away. Active intervals are half-open and lookup does not extend the declared coverage.

Exact source fractions are JSON objects containing decimal-string numerator and denominator fields. Pre-birth antardashas remain in the full tree with a null visible interval. Consumers must preserve occurrence paths, nullable visibility, source decisions and eligibility status (not_evaluated).

REST reports malformed input and coverage/projection limits as 422, unavailable required resources as 503, and internal generated-result defects as sanitized 500 responses. Read error_code and request_id; do not parse private messages.

Resources and excluded work

Packaged asteroid/comet manifests identify external release 2026.10.10.1. The external catalogs are separately acquired resources; updating the Python package does not download or delete them. Historical authority fixtures stay bound to their historical release. See the catalog receipt.

The new products retain documented source, span, depth, node-count and search budgets. Broader traditions, special Lagnas and festival rules are not implied by profile discovery. Unfinished natal-discovery/light-box work and website application deployment are excluded from this release.