Skip to content

chore(release): v1.5.0 - #56

Merged
vdavez merged 1 commit into
mainfrom
chore/release-v1.5.0
Aug 4, 2026
Merged

chore(release): v1.5.0#56
vdavez merged 1 commit into
mainfrom
chore/release-v1.5.0

Conversation

@makegov-mark

@makegov-mark makegov-mark Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

What

Minor bump to 1.5.0, covering the two features that have accumulated on main since v1.4.0. Both are additive; no breaking SDK surface.

4 files changed, 5 insertions(+), 3 deletions(-) — the same shape as the v1.4.0 release (#53): version in pyproject.toml, tango/__init__.py and uv.lock, and [Unreleased] promoted to [1.5.0] - 2026-08-04.

What ships

relationships(type, source) on entities (#54). Exposes the two keys the API added to each entry in the entity relationships expand.

⚠️ Read the ### Changed note before upgrading. The relation value vocabulary changed upstream, so application code branching on relation should match on type instead. No SDK code change is required — relation was and remains a str — but this is the one item in the release that can quietly change a caller's behavior, so it is worth surfacing in the release notes rather than leaving buried in the changelog.

PaginatedResponse.meta (#55). Surfaces the API's agency-filter diagnostics, which the SDK previously discarded because it built the response envelope key-by-key. Adds three accessors:

  • unresolved_agency_tokens — tokens that matched no organization, per filter
  • resolved_agencies — the organization each token did match
  • agency_warnings — the API's human-readable notes

resolved_agencies is the one that matters most and is easiest to undervalue: when a fuzzy match lands on the wrong organization, nothing is dropped, so a dropped-token check cannot detect it. Comparing the resolved name is the only client-side signal.

Also in that PR: a fully-unresolvable agency filter now raises TangoValidationError rather than returning an empty page. That needed no SDK change (the existing 400 handler already reads the API's error key) but it is new behavior for list_subawards(), list_opportunities(), list_notices() and list_vehicles().

Verification

  • 345 tests pass; mypy clean.
  • import tango reports __version__ == "1.5.0".
  • uv build produces tango_python-1.5.0 sdist + wheel.
  • uv.lock diff is one line (the project's own version). My local uv initially rewrote revision = 32 on regeneration — an artifact of an older local uv, unrelated to this release — so that line was restored rather than shipped.

After merge

publish.yml triggers on GitHub Release published, not on a tag alone. So: tag v1.5.0, then publish the Release to fire the PyPI upload.

Once it is on PyPI, makegov/tango-mcp#78's follow-up is unblocked — that repo pins tango-python>=1.4.0, so the code that would actually surface these diagnostics to agents could not be written until this ships.

Minor bump covering the two features that have accumulated on main since v1.4.0, both additive with no breaking SDK surface.

`relationships(type, source)` on entities (#54) exposes the two keys the API added to each entity relationship entry, and carries a consumer-facing note worth reading: the `relation` value vocabulary changed upstream, so application code branching on `relation` should match on `type` instead. No SDK code change is required for that — `relation` was and remains a `str`.

`PaginatedResponse.meta` (#55) surfaces the API's agency-filter diagnostics, which the SDK previously discarded because it built the response envelope key-by-key. Adds `unresolved_agency_tokens`, `resolved_agencies`, and `agency_warnings`. The second of those is the one that matters for a fuzzy match landing on the wrong organization — nothing is dropped in that case, so a dropped-token check cannot see it.

Version bumped in pyproject.toml, tango/__init__.py and uv.lock; [Unreleased] promoted to [1.5.0] - 2026-08-04.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vdavez
vdavez merged commit 0b1e94c into main Aug 4, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant