Skip to content

v0.2.0

Latest

Choose a tag to compare

@rhannequin rhannequin released this 25 Jul 08:20
99e219c

0.2.0 - 2026-07-25

Added

  • LeapSecond.expires_on, LeapSecond.expired? and
    LeapSecond.updated_through expose the expiry date and IERS bulletin that
    Leap_Second.dat states in its header. Both were previously discarded with
    the rest of the comment lines. Unlike Data.status.cache_age, which measures
    when a file was downloaded, these describe how long the data itself stays
    authoritative.
  • LeapSecond.at now answers 1961-01-01 through 1972-01-01, the era when UTC
    was steered by rate adjustments rather than whole leap seconds. It returns
    those values as exact Rationals. The coefficients come from the USNO
    tai-utc.dat file and are bundled in source, since they are fixed. The
    change is additive: the pre-1972 range previously raised, so no successful
    call returns anything different. TAI.utc_to_tai and TAI.tai_to_utc gain
    the same range for free.

Changed

  • Parsers::LeapSecond.parse returns a Table of entries and metadata
    instead of an array of entries. Parsers is internal; the public API is
    unaffected.
  • Parsers::LeapSecond.parse no longer raises Encoding::CompatibilityError
    on a file containing invalid UTF-8. Header metadata is read on a best-effort
    basis and an unreadable data row raises ParseError as before.

Full Changelog: v0.1.1...v0.2.0