Skip to content

v0.1.2 — latest() fix + period normalisation + did-you-mean

Choose a tag to compare

@Bigred97 Bigred97 released this 12 May 20:20
· 67 commits to main since this release

Three real customer-facing bugs squashed.

Bugs fixed

  • latest() on long-format insurance datasets returned a single record
    instead of the latest quarter's worth. Root cause was last_n=1 collapsing
    to one record per measure; long-format datasets carry a single value
    measure with the semantic metric in the data_item dimension. After the
    fix latest("LIFE_INSURANCE") returns ~860 records (the full latest-period
    slice). Affects INSURANCE_GENERAL, INSURANCE_GENERAL_HISTORICAL,
    LIFE_INSURANCE, LIFE_INSURANCE_HISTORICAL.

  • Period filters with quarter shorthand (2025-Q4) or bare years (2024)
    silently returned zero rows.
    Lexical string comparison put Q > 1 in
    ASCII so ISO dates were always excluded. New _expand_period_input
    normaliser converts YYYY, YYYY-MM, YYYY-Qx (and lowercase q) into
    proper ISO YYYY-MM-DD bounds.

  • Did-you-mean suggestions on unknown filter values:
    Unknown value 'major' for filter 'sector'. Did you mean 'major_banks'?

Documentation honesty

The ADI centralised publication and the Super fund-level XLSX are
snapshot files (latest quarter only), not the multi-year time series
the filenames suggest. ADI_KEY_STATS, ADI_RISK_WEIGHTED_ASSETS, and
SUPER_FUND_LEVEL YAMLs corrected to say so. Insurance datasets remain
true time series.

Quality

  • 263 unit tests (34 new) + 16 live integration tests
  • Zero-flake across 10 sequential runs
  • Wheel built and verified in isolation against live APRA Q4 2025 data

Install

uvx --upgrade apra-mcp
# or, direct from this release:
pip install https://github.com/Bigred97/apra-mcp/releases/download/v0.1.2/apra_mcp-0.1.2-py3-none-any.whl