Skip to content

v0.12.0

Choose a tag to compare

@AnthonyPuggs AnthonyPuggs released this 19 Apr 07:23
· 155 commits to main since this release
b4c362a

Release v0.12.0 is a contract-freeze and release-discipline release for ausecon-mcp-server.

This release does not broaden the server to new sources or new MCP tools. Instead, it stabilises and documents the existing ABS + RBA retrieval surface so downstream clients can rely on it more confidently ahead of v1.0.0.

Highlights

  • Added a checked-in retrieval contract at schemas/response.schema.json
  • Added focused documentation for architecture, semantic variants, and the response schema
  • Added representative checked-in example payloads under examples/payloads/
  • Added additive metadata.retrieved_at to retrieval responses
  • Consolidated shared client-side filtering into src/ausecon_mcp/filters.py
  • Added py.typed for typed-package consumers
  • Hardened release workflow verification with a built-wheel smoke test before PyPI publish

What Changed

  • Retrieval responses from get_abs_data, get_rba_table, and get_economic_series now have a documented, checked-in JSON Schema
  • ABS and RBA providers now stamp metadata.retrieved_at in addition to existing provenance fields such as retrieval_url, truncated, and server_version
  • Shared filtering behaviour for last_n, date windows, and series pruning now lives in one place, reducing the chance of ABS/RBA drift
  • README, CLAUDE.md, and AGENTS.md were refreshed to reflect the frozen retrieval contract and the current preferred discovery surfaces
  • The release workflow now installs the built wheel and verifies that the ausecon-mcp-server console script is present before publish

MCP Surface

There are no new tools in v0.12.0, and there are no removals.

The public MCP surface remains intentionally stable:

  • search_datasets
  • list_catalogue
  • get_abs_dataset_structure
  • get_abs_data
  • list_rba_tables
  • get_rba_table
  • get_economic_series

list_rba_tables remains in place for backwards compatibility. For new unranked RBA browsing, list_catalogue(source="rba") is now the preferred surface.

Breaking Changes

None intended.

This release is designed to be additive and contract-stabilising rather than shape-breaking. In particular, the existing dimensions payload shape is unchanged in v0.12.0.

Validation

The release work was verified with:

  • uv run ruff check src tests
  • uv run pytest
  • uv run pytest integration_tests/ -v
  • uv run python scripts/audit_catalogue.py
  • local sdist and wheel builds
  • wheel smoke-install and console-script verification
  • FastMCP client smoke checks across discovery, retrieval, and semantic calls

Why This Release Matters

Earlier releases focused on correctness, audit governance, and semantic/discovery usability. v0.12.0 is the release that turns the existing retrieval layer into a more explicit public contract.

That makes it a better foundation for the final pre-v1.0.0 stabilisation cycle.

Notes

As before, the server remains deliberately narrow in scope:

  • ABS + RBA only
  • stdio MCP transport
  • read-only discovery and retrieval workflows
  • curated semantic shortcuts rather than a general analytics engine

Broader source expansion and transport work remain deferred until after the core contract is stable.