RELEASE_NOTES_6.4.1 - TheDaniel166/moira GitHub Wiki
Moira 6.4.1 - Natal Grid for Every Mover
Release date: 2026-09-02
Public upgrade path: 6.4.0 to 6.4.1.
Moira 6.4.1 is a timing patch. The natal aspect grid introduced in 6.4.0 now scans one longitude series per mover for every admitted mover, not only the ten planets, and the dedicated REST route admits the same movers as the batch kind. Exact event times are unchanged. Every 6.4.0 request body stays valid.
In this release
- One series per mover, three tiers —
find_aspect_transits_to_longitudes()builds the mover's longitude series once per window: the native planetary route for planets, the native Type 13 small-body route for named asteroids, and resolver sampling for True Node, Mean Node, Lilith, and True Lilith. Every(longitude, angle)pair is refined from that series by the unchanged bisection. A one-year True Node grid drops from about 13 s to under 2 s on the production box. - Engine-owned scan step — the grid follows
_auto_step, and the two osculating points, True Node and True Lilith, now step at 0.25 day. A quarter-turn guard halves the step and resamples whenever consecutive samples jump by more than 90°, so a fast mover can never hide a double crossing behind a coarse step. - One admitted mover set —
NATAL_ASPECT_MOVERS(planets, True Node, Mean Node, Lilith, True Lilith, named asteroids) governs bothPOST /v1/transits/natal-aspectsand thenatal_aspect_transitsbatch kind. Both reject an unknown mover with the same message. - Asteroid movers in transit searches work again — the transit and
declination resolvers still passed
de441_reader=toasteroid_at()after that keyword was removed on 2026-05-21, so any transit search with an asteroid mover raisedTypeError. Repaired with a regression test.
REST contracts
POST /v1/transits/natal-aspects body: any admitted mover (was planets only)
POST /v1/batch/events kind: natal_aspect_transits (unchanged)
Extra request keys remain 422. Response shapes are unchanged.
Not in 6.4.1
- A native (C++) node or Lilith series
- Sharing one series across batch items for the same mover
- Any change to
find_aspect_transits()single-target behaviour - Workspace or website surfaces
Install
pip install moira-astro==6.4.1
from moira import Moira, Body
from moira.transits_aspects import NATAL_ASPECT_MOVERS
m = Moira()
hits = m.natal_aspect_transits(Body.TRUE_NODE, natal_points, [0.0, 90.0, 180.0], jd_start, jd_end, aspect_orbs=[3.0, 3.0, 3.0])
Read COMPATIBILITY_NOTES_6.4.1.md if you validate request bodies against
the 6.4.0 OpenAPI document or pin scan steps explicitly.