Repository navigation
Release 0.15.0 - #65
Merged
Merged
Conversation
…k, run options) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GReqJWK77kV77FkNvsLgrL
…(V15.5)
- PUT /environments/{id}/dockerfile stores an edited/imported Dockerfile
(<=100 KB, FROM first after ARGs, no NUL); null/empty resets. GET returns
it, builds use it and then need no packages. Gated by docker_build op.
- PATCH docker_image + docker_image_custom=true marks an image as
user-provided: never stale; a RoboScope build switches back to managed.
Image changes run the docker_build governance check inline.
- New columns dockerfile_override / docker_image_custom via lightweight
SQLite/Postgres migrations + Alembic a9d4c7e2b1f0.
- Docker section: badges, "Use your own image" form, editable Dockerfile
with Save / Reset to generated / Import file; i18n EN/DE/FR/ES, docs.
- Contract: image must provide python with robotframework (the runner
executes python -m robot, workdir /workspace, results in /output).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GReqJWK77kV77FkNvsLgrL
…ile is used Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GReqJWK77kV77FkNvsLgrL
…ariables
Chips in the Variables panel and the node %{} badge compare each %{NAME}
against the keys of the repo's environment (own, else default). Undefined
names without an inline default get an orange warning + tooltip; refs with a
default stay neutral. Keys only, via provide/inject (no form/node-data writes).
Story V15.2.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GReqJWK77kV77FkNvsLgrL
GET /reports/{id}/export?format=junit converts the stored output.xml with
`python -m robot.rebot --xunit` (fixed list argv, temp dir, 120 s timeout)
and returns report_<id>_xunit.xml. Missing output.xml -> 404, conversion
error or timeout -> 422 with rebot's stderr. Runs still never emit --xunit;
the advanced-args deny-list rejection of --xunit/-x is now pinned.
"Export JUnit" button in the report detail view and run panel; export
failures toast the server detail (blob error bodies are unwrapped).
i18n EN/DE/FR/ES, docs, CHANGELOG, vitest + e2e coverage.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GReqJWK77kV77FkNvsLgrL
# Conflicts: # CHANGELOG.md
…s (V15.3) - Runs ending FAILED/TIMEOUT re-run via retry_run until retry_count reaches max_retries; the retry keeps its schedule link and is committed before dispatch. PASSED/CANCELLED/ERROR never retry; a retry failure never touches the finished run. - RunCreate: parallel=true -> 422; max_retries together with advanced_config -> 422 (auto-retry can never re-pass gate_advanced_execution). - Run dialog "Retries on failure" (0-3), "Attempt n of m" in runs table + detail. - max_parallel_runs no longer seeded or shown (executor is single-worker). - Docs (EN/DE/FR/ES), CHANGELOG, backend/vitest/e2e tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GReqJWK77kV77FkNvsLgrL
# Conflicts: # CHANGELOG.md
… a project create_repository dropped RepoCreate.environment_id and pre_run_sync, so the add-project dialog's 'Default environment' had no effect until changed on the project card. Caught by the V15.2 e2e spec. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GReqJWK77kV77FkNvsLgrL
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GReqJWK77kV77FkNvsLgrL
Epic V15: custom Dockerfile / own container image, JUnit report export,
Flow Editor %{ENV} definition check, automatic retries of failed runs
(inert parallel / max_parallel_runs options retired). Also fixes the
add-project dialog dropping the chosen environment. README and the
landing page mention the new capabilities; in-app docs were updated
per story (EN/DE/FR/ES).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GReqJWK77kV77FkNvsLgrL
raffelino
marked this pull request as ready for review
September 29, 2026 13:29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release 0.15.0: Epic V15 (plan in
_bmad-output/planning-artifacts/v015-epics.md).What's in it
format=juniton the existing export, produced byrebotin RoboScope's own Python. Runs still never emit--xunit, and user args still can't pass it.%{ENV}check in the Flow Editor: refs the repo's environment does not define are flagged. It is a warning only, and only variable names are read.max_retriesis wired up.parallel: trueand advanced config combined with retries return 422. The ignoredmax_parallel_runssetting is removed.Verification (local, macOS arm64)
🤖 Generated with Claude Code
https://claude.ai/code/session_01GReqJWK77kV77FkNvsLgrL