The multi-platform Docker publish job can exhaust the hosted runner disk before BuildKit finishes, causing ENOSPC failures during log writing and cleanup.
Remove unused hosted toolchains and stale local Docker data before QEMU and Buildx setup so release builds have more room without changing Docker image inputs or install scripts.
- Wrap previous_published_release_tag, collect_release_commits, and generate_release_body_with_openrouter in try-except block
- Catch SystemExit to handle generation failures gracefully
- Initialize previous_release_tag, commits, and body with default values before try block
- Fall back to "Failed to generate release notes." message on error
- Print error message to stderr when release note generation fails
- Remove
- Remove RELEASE_NOTES_DIR env var and docs/release_notes/ directory with v1.0 and v1.1 markdown files
- Add OPENROUTER_API_KEY and OPENROUTER_MODEL to workflow environment variables
- Add OPENROUTER_CHAT_COMPLETIONS_URL constant and OPENROUTER_SYSTEM_PROMPT_PATH pointing to scripts/openrouter_release_notes_system_prompt.md
- Add require_env, load_text, github_repository_parts, github_api_get helpers
- Add ready branch to Docker publish workflow alongside testing and main
- Replace tag search/autocomplete UI with standard select element preloaded with current major version tags
- Add get_selector_tag_options helper that filters tags to current major line and returns list of higher major versions available
- Show attention banner with Docker update guide link when newer major versions exist on selected
Extend docker_release_plan.py to detect when a new release tag becomes the highest tag on testing or main branches via push events. Track before/after SHAs to compare tag states and trigger builds for newly promoted tags. Add push_promoted_tag mode alongside existing tag push handling. Update workflow to trigger on branch pushes and pass ref type, before/after SHAs to planning script.
Add a GitHub Actions workflow (.github/workflows/close-inactive.yml) that searches for open issues and PRs with no activity past a configurable cutoff and optionally posts a closing comment and closes them. The workflow runs on a daily cron and supports manual dispatch with inputs for inactive_days and dry_run; it uses actions/github-script to paginate search results and handle closing. Also update plugins/text_editor/plugin.yaml to enable per_project_config and per_agent_config (changed from false to true) so the text_editor plugin can be configured per project and per agent.