Skip to content

Commit 99bec54

Browse files
committed
release: cut 2.1.7 with export and distributed reliability upgrades
Ship the new distributed-run stability and HITL UX improvements with multi-format run export, and align the package version/changelog for publishing.
1 parent 6c24a79 commit 99bec54

76 files changed

Lines changed: 4565 additions & 2068 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [2.1.7] — 2026-03-18
11+
12+
### Added
13+
14+
- **Multi-format run export** — New `devsper export-runs` command exports run history bundles to Markdown, reStructuredText, LaTeX, BibTeX, HTML, JSON, and DOCX (when `python-docx` is available), with per-run markdown artifacts under `runs/`.
15+
- **Dual PDF pipelines** — Export supports both LaTeX (`pdflatex`) and HTML (`wkhtmltopdf`/`pandoc`) PDF generation, plus manifest reporting for generated outputs and pipeline errors.
16+
- **Branding-aware documents** — Export templates now consume branding tokens and logo assets from `homepage` for consistent "docproc/devsper" presentation.
17+
- **Export docs and tests** — Added `docs/export-runs.md` and automated tests covering format generation and event-path resolution.
18+
19+
### Changed
20+
21+
- **Distributed run stability** — Controller dispatch/claim handling is more robust (slot-aware routing, shorter unclaimed-task requeue path, safer task-completion fallback parsing) to reduce stuck runs.
22+
- **Snapshot restore safety** — Leader restore now avoids rolling back to stale/equivalent snapshots, reducing repeated re-dispatch loops.
23+
- **HITL/MCQ UX** — Clarification prompts now use interactive numeric selection with a custom answer option and explicit "answer received" feedback.
24+
- **Run summary accuracy** — Duration/cost aggregation now uses event-log grounded values for more reliable final summaries.
25+
- **CLI/TUI branding and noise** — Theme/style namespace now prefers `devsper.*` aliases, and TUI logging suppression reduces controller log flooding during active runs.
26+
1027
## [2.1.6] — 2026-03-14
1128

1229
### Added

Cargo.lock

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

devsper/__init__.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@
99
"""
1010

1111
from devsper.config import get_config
12-
from devsper.swarm.swarm import Swarm
1312

1413
__all__ = ["Swarm", "get_config"]
14+
15+
16+
def __getattr__(name: str):
17+
# Keep package import lightweight for tooling/tests.
18+
if name == "Swarm":
19+
from devsper.swarm.swarm import Swarm # local import
20+
21+
return Swarm
22+
raise AttributeError(name)

0 commit comments

Comments
 (0)