v0.1.2 — latest() fix + period normalisation + did-you-mean
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 waslast_n=1collapsing
to one record per measure; long-format datasets carry a singlevalue
measure with the semantic metric in thedata_itemdimension. After the
fixlatest("LIFE_INSURANCE")returns ~860 records (the full latest-period
slice). AffectsINSURANCE_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 putQ > 1in
ASCII so ISO dates were always excluded. New_expand_period_input
normaliser convertsYYYY,YYYY-MM,YYYY-Qx(and lowercaseq) into
proper ISOYYYY-MM-DDbounds. -
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