Skip to content

Commit 6423990

Browse files
chore(release): v0.7.0 (#58)
Docs-and-examples release. Pinned spec stays at v0.16.1; no proposals implemented this cycle. User-visible: - New exports: NextCall, default_classifier (openarmature.graph) - Examples 05-09, per-example docs pages with mermaid diagrams - New Middleware concept page - Reference docs filled in (35 previously-missing entries) - RELEASING.md and docs UX cleanup Behavioral: - FanOutNode.run / ParallelBranchesNode.run raise NotImplementedError instead of RuntimeError; backwards- compatible since NotImplementedError subclasses RuntimeError. See CHANGELOG for the full entry.
1 parent 37fe7d4 commit 6423990

5 files changed

Lines changed: 29 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,31 @@ All notable changes to `openarmature-python` are documented in this file.
44

55
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). The package follows [Semantic Versioning](https://semver.org/); pre-1.0 minor bumps may carry behavioral changes per [spec governance](https://github.com/LunarCommand/openarmature-spec/blob/main/GOVERNANCE.md).
66

7+
## [0.7.0] — 2026-05-23
8+
9+
Docs-and-examples release. Pinned spec stays at v0.16.1; no
10+
proposals implemented this cycle. The focus was bringing the
11+
docs site, README, and examples up to par with the v0.6.0
12+
implementation and filling reference-doc gaps that mkdocstrings
13+
was silently dropping.
14+
15+
### Added
16+
17+
- **`openarmature.graph.NextCall` and `openarmature.graph.default_classifier` exports.** Promoted from the `openarmature.graph.middleware` submodule. `NextCall` is the Protocol describing the `next_` callable a middleware receives; `default_classifier` is the retry classifier's default predicate (matches `category` against `TRANSIENT_CATEGORIES`). Users writing custom middleware can type their `next_` parameter and extend the default classifier without reaching into the submodule.
18+
- **Middleware concept page.** New `docs/concepts/middleware.md` covering the protocol shape, four registration sites (per-node, per-graph, per-branch, per-fan-out-instance), composition order, subgraph boundary, error semantics, and the built-in `RetryMiddleware` and `TimingMiddleware`.
19+
- **Complete reference docs.** Added docstrings to 35 previously-undocumented public members across `graph`, `prompts`, and `checkpoint`. mkdocstrings silently omits entries without a docstring, which meant the most fundamental builder methods (`add_node`, `add_edge`, `set_entry`, `compile`) and the entire `Checkpointer` backend method surface were invisible in the rendered reference. Every name in each subpackage's `__all__` now renders.
20+
- **Examples 05–09.** New examples covering fan-out with retry, parallel branches, multimodal prompts, checkpointing with state migration, and tool use. Per-example docs pages with mermaid diagrams under `docs/examples/`. Examples 00–04 were scrubbed and standardized for consistency with the new set.
21+
- **`RELEASING.md`.** Documents the rc-first release flow (TestPyPI then PyPI), the tag-name dispatch rules, the pre-release checklist, rc iteration, and rollback via PyPI yank.
22+
- **Docs site UX, nav, and reference cleanup.** Sweep of nav structure, internal links, and reference page organization to match the v0.6.0 surface.
23+
24+
### Changed
25+
26+
- **`FanOutNode.run` and `ParallelBranchesNode.run` raise `NotImplementedError` instead of `RuntimeError`.** Both methods exist only to satisfy the `Node` protocol; the engine dispatches these node types through `run_with_context`. `NotImplementedError` is the right signal and stays backwards-compatible since it subclasses `RuntimeError` (existing `except RuntimeError` catches still work).
27+
28+
### Notes
29+
30+
- **Pinned spec version unchanged at v0.16.1.** No proposals landed this cycle; the release is docs- and examples-focused. The next functional release will resume with new spec proposals.
31+
732
## [0.6.0] — 2026-05-16
833

934
Consolidated release for the five-PR batch: structured output

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "openarmature"
7-
version = "0.6.0"
7+
version = "0.7.0"
88
description = "Workflow framework for LLM pipelines and tool-calling agents."
99
readme = "README.md"
1010
requires-python = ">=3.12"

src/openarmature/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
"""OpenArmature: workflow framework for LLM pipelines and tool-calling agents."""
22

3-
__version__ = "0.6.0"
3+
__version__ = "0.7.0"
44
__spec_version__ = "0.16.1"

tests/test_smoke.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99

1010
def test_package_versions() -> None:
11-
assert openarmature.__version__ == "0.6.0"
11+
assert openarmature.__version__ == "0.7.0"
1212
assert openarmature.__spec_version__ == "0.16.1"
1313

1414

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)