Skip to content

release: v0.35.3#560

Merged
Nathan Schram (nathanschram) merged 3 commits into
devfrom
release/0.35.3
May 20, 2026
Merged

release: v0.35.3#560
Nathan Schram (nathanschram) merged 3 commits into
devfrom
release/0.35.3

Conversation

@nathanschram
Copy link
Copy Markdown
Member

Summary

Prepares v0.35.3 for PyPI publish. Bumps pyproject.toml from 0.35.3rc200.35.3, dates the CHANGELOG to 2026-05-20, and lands the release-prep doc updates.

Not for master yet — this PR targets dev. After review + merge here, open a separate devmaster PR to gate the PyPI publish (auto-tag + release.yml fire on the master merge).

Milestone state

v0.35.3 milestone: 58 closed, 0 open — ready to tag.

What changed in this PR

File Change
pyproject.toml 0.35.3rc200.35.3
uv.lock regenerated for the version bump
CHANGELOG.md header (unreleased)(2026-05-20); new rc20 + rc19 entries (9 fixes); issue-link refs added to rc18/rc19/rc20 parent bullets so validate_release.py passes the stable-bump gate
README.md +1 feature bullet on hot-reload configuration + env_extra_allow
docs/faq/faq.md +1 Q/A on outbox file delivery (the hot-reload Q was already present)
docs/how-to/interactive-approval.md +1 paragraph on the /config → Diff preview toggle

docs/how-to/security.md and docs/how-to/operations.md were audited and confirmed comprehensive (no edits needed — [security] env_extra_allow, SSRF protection, hot-reload coverage all already documented).

Pre-commit validation

  • uv run ruff format --check src/ tests/ — 283 files clean
  • uv run ruff check src/ tests/ — all checks passed
  • uv lock --check — clean
  • python3 scripts/validate_release.py — 3 passed, 0 failed (stable version validated)
  • FAQ shape: 15 question-shaped H2s (≥7 required per .claude/rules/help-faq.md)
  • uv run pytest — not re-run in this branch (no source code changes; rc19 + rc20 both passed the gate at 82.58% coverage)

Test plan (post-merge to dev)

  • CI green on TestPyPI publish path (0.35.3 is a stable version; TestPyPI gate fires with skip-existing: true)
  • Open devmaster PR
  • On master merge: verify auto-tag-on-master.yml creates v0.35.3 tag, release.yml publishes to PyPI via OIDC, GitHub Release page appears
  • Write attestation marker: scripts/run-integration-tests.sh 0.35.3 --manual after running the U1-U8 integration tests on @untether_dev_bot
  • Run scripts/fleet-rollout.sh 0.35.3 to roll all 4 hosts (lba-1 + nsd + channelo + mac)
  • /ping smoke on each host's bot

🤖 Generated with Claude Code

Prepares v0.35.3 for PyPI publish — bumps version from 0.35.3rc20, dates
the CHANGELOG, and lands release-prep doc updates.

Milestone v0.35.3: 58 closed, 0 open. The 9 issues left open from rc19
(#523, #524, #525, #526, #528, #532, #546, #547, #548) are all closed
against rc19/rc20 fixes; #547 axis 3 (drain-timeout heuristic) is
deferred to v0.35.4 (tracked as #559).

CHANGELOG.md:
- New rc20 entry covers #524 + #526 follow-up patches that extended the
  rc19 surfacing logic to all 3 completion paths and added the
  runner.py-side approval-pending detector.
- New rc19 entry bundles the 7 other /monitor-campaign fixes (#523,
  #525, #528, #532, #546, #547 axes 1+2, #548).
- Added [#N] issue refs to the rc18/rc19/rc20 parent bullets so the
  release validator's per-entry issue-link gate passes on the stable
  bump.

README.md: +1 feature bullet calling out hot-reload configuration +
env_extra_allow / env_extra_prefix_allow.

docs/faq/faq.md: +1 Q/A on outbox file delivery (hot-reload Q already
present from earlier work).

docs/how-to/interactive-approval.md: +1 paragraph on the /config →
Diff preview toggle.

pyproject.toml + uv.lock: version 0.35.3rc20 → 0.35.3.

Pre-commit validation:
- ruff format --check src/ tests/        clean (283 files)
- ruff check src/ tests/                 all checks passed
- uv lock --check                        clean
- python3 scripts/validate_release.py    3 passed, 0 failed
- FAQ shape: 15 question-shaped H2s (≥7 required)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 20, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1507e5f2-64a1-449a-a3e2-6c208b9b570c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/0.35.3

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

pip-audit on PR #560 flagged CVE-2026-45409 (idna < 3.15). idna is a
transitive dep through httpx → httpcore → idna. uv lock --upgrade-package
idna picks up 3.15; local pip-audit run is now clean.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@nathanschram Nathan Schram (nathanschram) merged commit 5ae0b20 into dev May 20, 2026
21 checks passed
@nathanschram Nathan Schram (nathanschram) deleted the release/0.35.3 branch May 20, 2026 04:51
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