Skip to content
docs
UseBuildChangelog
Open Lumin
Release notes

v8.1.0

2026-10-30Latest

A birth time read once, and horary gates named by school

Five correctness fixes and two additive fields. A birth time with a zone suffix is read once, a mixed promise is undecided in every voice, and a horary the Moon gate withholds now carries KSK's own judgement beside it.

  • For usersFor developers

    A birth_datetime sent with a zone suffix (+06:00) was read as a true instant and then moved by utc_offset_minutes again, six hours early in that case. A suffix that agrees with the offset, within half a minute, is now stripped; one that disagrees is refused with both values named. Z keeps its meaning.

  • For usersFor developers

    A MIXED_ACTIVE cusp is undecided in every place a reader meets it: analyze_natal_promise, find_event_timing_v2, get_kp_school_spread, event timing v1 and the agent's own prompt. None of them calls it promised or a settled sequence any more.

  • For usersFor developers
    • The horary Moon withhold is a successor's gate (Bhargava, and K. Subramaniam's Astro Secrets II), not KSK's: KSK takes the number as given.
    • The horary, career and medical horary tools carry gateReadings: the Moon gate, the Moon or Ascendant sub lord gate, and KSK's number as given, side by side.
    • When the gate withholds, career and medical horary also return judgedAsGiven, KSK's judgement of the same chart, and the withhold names its remedies. The WITHHELD verdict itself is unchanged.
  • For usersFor developers

    get_yoga_karaka now reads the yoga karaka for each lagna from BPHS ch. 34's own verses, which name a pair for Virgo.

  • For usersFor developers

    The CSL verdict no longer promotes a cuspal sub lord that rules its own cusp from PARTIALLY_ACTIVE to ACTIVE at 0.67 coverage. No source states that rule; it decided 2 of 3,744 verdicts across the test spread.

  • For usersFor developers

    get_annotated_dasha lists every event group a period lord reaches, where it used to drop those under 34% without saying so, and judges isCurrent at query_date instead of the server's clock.

  • For usersFor developers

    get_transit_timing_hierarchy reads a start_date without a zone by one rule, starts from the moment of judgement the call names, and picks the event from the dasha running then.

  • For developers

    Usage rows record the page read, engine time, whether the moment of judgement was defaulted, and repeated calls within ten minutes; no input value enters a row.

  • For users

    In the app, Compare and Conversations load in their own shape, and opening a saved conversation no longer clears the one on screen first.