Skip to content

[codex] release prep 0.3.0#67

Merged
lbliii merged 2 commits intomainfrom
codex/release-prep-0.3.0
May 3, 2026
Merged

[codex] release prep 0.3.0#67
lbliii merged 2 commits intomainfrom
codex/release-prep-0.3.0

Conversation

@lbliii
Copy link
Copy Markdown
Owner

@lbliii lbliii commented May 3, 2026

Summary

Prepare Milo 0.3.0 release artifacts.

  • Bump package version from 0.2.2 to 0.3.0 in pyproject.toml, src/milo/__init__.py, and uv.lock.
  • Compile queued Towncrier fragments into CHANGELOG.md and remove the consumed fragments.
  • Add public site release notes at site/content/releases/0.3.0.md.

Why

The queued changes include agent-native scaffolding and verification, Kida 0.7 template contract changes, terminal display-cell filters, docs migration work, steward guidance, and project-wide contract fixes. That scope is release-worthy and reads as a feature release rather than another 0.2.x patch.

Validation

  • make docs-test
  • make ci
    • 1492 passed, 1 skipped
    • coverage 81.81%
    • ty completed with the existing unresolved-attribute warnings
  • make build
    • built dist/milo_cli-0.3.0.tar.gz
    • built dist/milo_cli-0.3.0-py3-none-any.whl
  • uv run python -c 'import milo; print(milo.__version__)'
    • printed 0.3.0
  • git diff --cached --check

Steward Notes

Consulted stewards: root constitution, Milo Core steward, Site and Reference Docs steward, and Agent Docs steward.

Decisions:

  • Treat this as 0.3.0 because the fragment set includes new CLI affordances, public docs, template behavior changes, and contract hardening.
  • Keep release notes aligned with Towncrier fragments and package version intent.
  • Leave existing ty diagnostics and test warnings as pre-existing warnings from the current branch, since the release-prep change does not touch those implementation paths.

Risks:

  • The release note is manually summarized from fragments, so reviewer should sanity-check emphasis and wording before publishing.
  • make gh-release is not run here; publishing still requires tagging/release creation after merge.

Follow-up:

  • After merge, create the v0.3.0 release using the repository release process if this PR is accepted.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 3, 2026

Coverage Report

88.1% overall coverage

File Coverage
src/milo/\_\_init\_\_.py 100.0%
src/milo/\_cells.py 85.9%
src/milo/\_child.py 91.8%
src/milo/\_cli\_help.py 90.5%
src/milo/\_command\_defs.py 99.2%
src/milo/\_compat.py 63.3%
src/milo/\_errors.py 92.8%
src/milo/\_jsonrpc.py 81.4%
src/milo/\_mcp\_router.py 100.0%
src/milo/\_protocols.py 100.0%
src/milo/\_scaffold/\_\_init\_\_.py 100.0%
src/milo/\_types.py 100.0%
src/milo/app.py 58.9%
src/milo/cli.py 87.3%
src/milo/commands.py 89.3%
src/milo/completions.py 96.0%
src/milo/components\_cli.py 88.1%
src/milo/config.py 87.3%
src/milo/context.py 86.6%
src/milo/dev.py 91.9%
src/milo/doctor.py 89.9%
src/milo/flow.py 96.5%
src/milo/form.py 91.7%
src/milo/gateway.py 68.9%
src/milo/groups.py 93.5%
src/milo/help.py 100.0%
src/milo/input/\_\_init\_\_.py 100.0%
src/milo/input/\_platform.py 77.8%
src/milo/input/\_reader.py 96.2%
src/milo/input/\_sequences.py 100.0%
src/milo/live.py 0.0%
src/milo/llms.py 78.8%
src/milo/mcp.py 88.9%
src/milo/middleware.py 100.0%
src/milo/observability.py 100.0%
src/milo/output.py 90.5%
src/milo/pipeline.py 90.1%
src/milo/plugins.py 100.0%
src/milo/reducers.py 100.0%
src/milo/registry.py 89.1%
src/milo/schema.py 92.7%
src/milo/state.py 91.7%
src/milo/streaming.py 100.0%
src/milo/templates/\_\_init\_\_.py 100.0%
src/milo/testing/\_\_init\_\_.py 100.0%
src/milo/testing/\_mcp.py 100.0%
src/milo/testing/\_record.py 86.7%
src/milo/testing/\_replay.py 87.1%
src/milo/testing/\_snapshot.py 100.0%
src/milo/theme.py 100.0%
src/milo/verify.py 84.8%
src/milo/version\_check.py 60.6%

@lbliii lbliii marked this pull request as ready for review May 3, 2026 19:06
Copilot AI review requested due to automatic review settings May 3, 2026 19:06
@lbliii lbliii merged commit 36d64cf into main May 3, 2026
7 checks passed
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

Prepares the Milo 0.3.0 release by updating versioned artifacts and publishing consolidated release notes/changelog content.

Changes:

  • Bumped the project version to 0.3.0 across pyproject.toml, src/milo/__init__.py, and uv.lock.
  • Compiled Towncrier fragments into CHANGELOG.md and removed consumed fragments.
  • Added the public website release notes page for 0.3.0.

Reviewed changes

Copilot reviewed 19 out of 20 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
uv.lock Updates locked editable package version to 0.3.0.
src/milo/init.py Bumps __version__ to 0.3.0 for runtime/version reporting.
site/content/releases/0.3.0.md Adds website release notes for 0.3.0.
pyproject.toml Bumps package version metadata to 0.3.0.
changelog.d/terminal-open-rules.added.md Removes consumed Towncrier fragment (compiled into CHANGELOG.md).
changelog.d/terminal-cell-width.added.md Removes consumed Towncrier fragment (compiled into CHANGELOG.md).
changelog.d/steward-priority-coverage.added.md Removes consumed Towncrier fragment (compiled into CHANGELOG.md).
changelog.d/steward-contract-checklists.changed.md Removes consumed Towncrier fragment (compiled into CHANGELOG.md).
changelog.d/docs-site-ia.changed.md Removes consumed Towncrier fragment (compiled into CHANGELOG.md).
changelog.d/docs-migration-verifier.added.md Removes consumed Towncrier fragment (compiled into CHANGELOG.md).
changelog.d/bugbash-contracts.fixed.md Removes consumed Towncrier fragment (compiled into CHANGELOG.md).
changelog.d/+strict-undefined.changed.md Removes consumed Towncrier fragment (compiled into CHANGELOG.md).
changelog.d/+silent-exception-lint.added.md Removes consumed Towncrier fragment (compiled into CHANGELOG.md).
changelog.d/+py314-patterns.changed.md Removes consumed Towncrier fragment (compiled into CHANGELOG.md).
changelog.d/+kida-0.7-adoption.added.md Removes consumed Towncrier fragment (compiled into CHANGELOG.md).
changelog.d/+agents-steward-system.changed.md Removes consumed Towncrier fragment (compiled into CHANGELOG.md).
changelog.d/+agent-vibe-coding.added.md Removes consumed Towncrier fragment (compiled into CHANGELOG.md).
changelog.d/+agent-affordances.added.md Removes consumed Towncrier fragment (compiled into CHANGELOG.md).
CHANGELOG.md Adds the consolidated 0.3.0 changelog section.

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

Comment thread CHANGELOG.md
Comment on lines +13 to +16
- Add silent-exception lint gate and `# silent: <reason>` annotations to prevent unlogged exception swallowing
- Adopt Kida 0.7 capabilities: `inline_components=True` and `validate_calls=True` defaults in `get_env()`; `enable_capture` opt-in kwarg on `get_env()` for static-site / capture flows; new `milo components` subcommand listing bundled and user-defined template defs (with `--json` for tooling, `--path` to scan extra dirs); `milo.live` re-exports for `LiveRenderer`, `Spinner`, `stream_to_terminal`, `terminal_env`; `kida.get_optimal_workers` now sizes the gateway, registry, and saga executor pools by workload type (IO_BOUND for I/O fan-out, RENDER for saga effects); `{% flush %}` boundaries added to `pipeline_progress` and `pipeline_detail` defs to encode streaming contract; CI gains a template compile-check via `scripts/check_templates.py`; new `examples/liverender` shows `LiveRenderer` outside the App harness; new docs page `usage/live.md`.
- Agent-first improvements: structured MCP validation errors with argument/constraint context, `form_schema()` introspection helper, `llms.txt` required/optional/default markers, `docs/agent-quickstart.md`, `docs/testing.md`, and `examples/greet/` test template.
- Agent-native affordances: `milo new <name>` scaffold (app.py, tests, conftest, README), `milo verify <path>` six-check self-diagnosis (imports, CLI located, commands registered, schemas generate, in-process MCP list, subprocess MCP transport), `function_to_schema(..., warn_missing_docs=True)` surfacing undocumented typed params, README examples index with drift lint, and a Python 3.14+ preflight on `milo` with an actionable install hint instead of ImportError.
Comment thread CHANGELOG.md
- Reorganized the documentation site into reader-intent sections for About, Get Started, Build CLIs, Build Apps, Quality and Operations, Reference, Examples, and Applied Tutorials. ([#docs-site-ia](https://github.com/lbliii/milo-cli/issues/docs-site-ia))
- Tightened steward guidance with contract checklists, evidence-backed finding format, collateral update rules, synthesis requirements, and parity-matrix expectations for cross-surface work. ([#steward-contract-checklists](https://github.com/lbliii/milo-cli/issues/steward-contract-checklists))
- Added scoped AGENTS.md steward guidance for core Milo domains so future agent work has explicit ownership, consultation, and safety routing.
- Adopt Python 3.14+ patterns: PEP 695 type aliases in middleware, match/case in form key handlers, frozen+slotted dataclasses in tests
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