Skip to content

chore(release): v0.6.0#48

Merged
chris-colinsky merged 1 commit into
mainfrom
chore/release-0.6.0
May 17, 2026
Merged

chore(release): v0.6.0#48
chris-colinsky merged 1 commit into
mainfrom
chore/release-0.6.0

Conversation

@chris-colinsky
Copy link
Copy Markdown
Member

Summary

Release-prep for v0.6.0, the consolidated tag for the five-PR batch that catches the implementation up from spec v0.10.0 to v0.16.1. After this merges, push the v0.6.0 tag to fire the release workflow.

Batch contents

Proposal PR What landed
0016 — Structured output #42 response_schema on Provider.complete(); Response.parsed; StructuredOutputInvalid; OpenAI response_format wire path + prompt-augmentation fallback
0015 — Image content blocks #44 UserMessage.content accepts list[ContentBlock]; TextBlock / ImageBlock + URL/inline image sources; ProviderUnsupportedContentBlock
0017 — Prompt management #45 openarmature.prompts subpackage; PromptManager + PromptBackend Protocol; FilesystemPromptBackend; with_active_prompt + OTel span attributes
0014 — State migration #46 State.schema_version; StateMigration + MigrationRegistry; GraphBuilder.with_state_migration(s); three migration error categories + ambiguity detection; Checkpointer.supports_state_migration; openarmature.checkpoint.migrate OTel span
0011 — Parallel branches #47 GraphBuilder.add_parallel_branches_node; BranchSpec + ParallelBranchesNode; NodeEvent.branch_name + openarmature.branch_name OTel attribute; retry-MW attempt-index ContextVar propagation through transitive wrapping (spec v0.16.1 clarification)

Version bumps

  • pyproject.toml project.version: 0.5.00.6.0
  • src/openarmature/__init__.py __version__: 0.5.00.6.0
  • uv.lock editable-package version (auto-updated)
  • tests/test_smoke.py version assertion: 0.5.00.6.0

Pinned spec stays at v0.16.1 (set in #47).

CHANGELOG

  • [Unreleased][0.6.0] — 2026-05-16 (top blurb names the five proposals).
  • Dropped the release-gate Note (no longer current — gate is cleared).
  • Tightened the pre-1.0 MINOR note to call out the two actual behavioral changes:
    • Retry-MW attempt-index propagation. Events from inner nodes of a subgraph wrapped by retry middleware (branch middleware, fan-out instance_middleware, or any retry on a wrapping subgraph) now carry the wrapping retry's attempt counter on each re-invocation rather than starting at 0. Per-node retry behavior is unchanged.
    • CheckpointRecord.schema_version semantic shift. Previously a backend-internal record-shape version (CHECKPOINT_SCHEMA_VERSION = "1" constant), now the user-facing state-schema version per spec §10.2. Pre-v0.6.0 records reinterpreted as user-facing v1 identifiers.

Callers who don't wrap subgraphs in retry middleware and don't declare a state-schema version see no behavior change.

Test plan

  • uv run pytest --ignore=tests/test_examples_smoke.py -q — 687 pass, 56 skipped, 0 failed.
  • uv run pyright — clean.
  • uv run ruff check + uv run ruff format --check — clean.
  • tests/test_smoke.py::test_package_versions validates __version__ matches the bumped pyproject.toml.
  • tests/test_smoke.py::test_spec_version_matches_pyproject validates __spec_version__ matches [tool.openarmature].spec_version (still v0.16.1).
  • tests/test_smoke.py::test_spec_version_matches_submodule_changelog validates the spec submodule checkout's CHANGELOG latest equals __spec_version__.

Release process (post-merge)

  1. Push the v0.6.0 tag from main.
  2. .github/workflows/release.yml runs:
    • test job (pytest + pyright + ruff + version-matches-tag check)
    • build job (uv build)
    • publish-pypi job — gated by the pypi GitHub Environment which requires manual reviewer approval before upload.
    • github-release job — auto-generates notes from commits since v0.5.0.

Consolidated release for the five-PR batch:

- Structured output (proposal 0016, PR #42)
- Image content blocks (proposal 0015, PR #44)
- Prompt management (proposal 0017, PR #45)
- State migration for checkpoints (proposal 0014, PR #46)
- Parallel branches (proposal 0011, PR #47)

Bumps:

- ``pyproject.toml`` project.version: 0.5.0 → 0.6.0
- ``__version__`` in src/openarmature/__init__.py
- ``uv.lock`` editable package version
- ``tests/test_smoke.py`` version assertion

Flips CHANGELOG ``[Unreleased]`` to ``[0.6.0] — 2026-05-16``, drops
the release-gate Notes entry, and tightens the pre-1.0 MINOR note to
list the two behavioral changes (retry-MW attempt-index propagation,
CheckpointRecord.schema_version semantic shift) instead of the
structured-output-specific note carried over from PR-1.

Pinned spec stays at v0.16.1 (set in PR #47).
Copilot AI review requested due to automatic review settings May 17, 2026 03:44
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Release-prep PR bumping the package from 0.5.0 to 0.6.0 to consolidate the five-PR batch (proposals 0016, 0015, 0017, 0014, 0011) against spec v0.16.1, and finalizing the CHANGELOG entry.

Changes:

  • Version bumps in pyproject.toml, src/openarmature/__init__.py, uv.lock, and the smoke-test assertion to 0.6.0.
  • CHANGELOG [Unreleased] promoted to [0.6.0] — 2026-05-16 with batch summary and tightened pre-1.0 MINOR note.
  • Dropped the release-gate note now that all five PRs have landed.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pyproject.toml Bumps project.version to 0.6.0.
src/openarmature/init.py Bumps __version__ to 0.6.0.
uv.lock Auto-updated editable-package version.
tests/test_smoke.py Updates version assertion to 0.6.0.
CHANGELOG.md Adds 0.6.0 release section; rewrites Notes block.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@chris-colinsky chris-colinsky merged commit e07dbd5 into main May 17, 2026
10 checks passed
@chris-colinsky chris-colinsky deleted the chore/release-0.6.0 branch May 17, 2026 03:46
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.

2 participants