You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Version. Last release 0.30.11; last version in General 0.30.11. Since v0.30.11: fixes only. By REL1 (0.Y.Z: the breaking component is Y, a fix bumps Z) and REL2 (the triple must be above every one released: 0.30.11), the version is 0.30.12. Jump in General (REL3). None. Resolves from General alone (REL4). ✅ (10 environments).
Mode: autonomous: the agent merges with release.jl merge once release.jl ready says ready, and posts the registration comment without asking.
What the agent will do
Comment on this issue at every phase.
Open the PR release/v0.30.12 (Project.toml, CHANGELOG.md, BREAKING.md) after the release gate passed locally; labels run ci github-runner, run breakage, run documentation, documentation push preview (no GPU job in CTBase).
Merge with release.jl merge once release.jl ready says ready (what actually ran on the head commit: gate, breakage report, every job the release needs).
Summarize the checks on this issue.
Wait for the ReleaseTag workflow: tag v0.30.12 and GitHub release, notes since v0.30.11.
Post the registration comment, once, and follow the General PR to its merge.
Close this issue with a final comment.
Every step starts from release.jl status: if anything interrupts the release, it is resumed from where the facts say it is.
What the maintainer will do
Nothing, unless the agent stops; if main moves before the registration, the agent asks for a go.
Phase 3 — Release PR #625.
Done: opened #625 from release/v0.30.12 (166d1316937d847ff236af2b15590bbc7dd78602): Project.toml at 0.30.12, the [Unreleased] entries of CHANGELOG.md under ## [0.30.12] - 2026-10-19 with the missing fix #620 added, a non-breaking note in BREAKING.md; labels run ci github-runner, run breakage, run documentation, documentation push preview, added after creation.
Decisions: no GPU label, CTBase has no GPU job.
Check: release.jl gate --base origin/main locally → ✅ ready, 12 checks.
Next: phase 4, the checks of the PR; the agent waits for them, then runs release.jl ready.
Phase 5 — Merge.
Done: #625 merged by release.jl merge --confirm at the head commit it checked (166d131); merge commit 9d0b5103e2f9ac5aecdc77d1ace47d1fde2f1f42.
Decisions: none.
Check: release.jl ready → ✅ ready, the same lines as phase 4.
Next: phase 6, the ReleaseTag workflow tags v0.30.12 and creates the GitHub release; the agent waits for it.
Phase 6 — Tag and GitHub release.
Done: the ReleaseTag workflow tagged v0.30.12 on the merge commit 9d0b510 and created the GitHub release https://github.com/control-toolbox/CTBase.jl/releases/tag/v0.30.12 (notes since v0.30.11); it dispatched the documentation workflow on the tag.
Decisions: none.
Check: release.jl status --version 0.30.12 → phase 7, todo: tag on the merge commit, release present, main still at the merge commit, no registration comment yet.
Next: phase 7, the registration comment, posted once by release.jl register.
DevTools.test_extensions_quality no longer throws on a package that defines a Union
alias: _owned_symbols skips the alias, whose members are collected on their own
(#619, #620).
📚 Documentation
ct-conventions pinned at v0.7.0 in AGENTS.md: the release rules REL1–REL7 in the
index, and a Recurring tasks section pointing to the release recipe of ct-agents.
🧪 Testing
Release workflows: ReleaseGate.yml (the gate of a release PR, REL1–REL7) and ReleaseTag.yml (tag and GitHub release of a merged release PR) call CTActions; Breakage.yml moves to breakage-suite.yml (one report, the REL1 check of a release
PR) and also runs on push to main; Documentation.yml accepts workflow_dispatch.
✅ Compatibility
No breaking changes: a bug fix, documentation and CI only. See BREAKING.md.
Phase 7 — Registration.
Done: the registration comment was posted once by release.jl register --post; the bot opened General's PR JuliaRegistries/General#172466, merged by AutoMerge at 2026-10-19 12:31 UTC.
Decisions: none (no jump, no [merge approved]).
Check: release.jl status --version 0.30.12 → phase 8, todo: one registration mention, General holds 0.30.12 with tree 7815d20, the tree of the tag.
Next: phase 8, once the documentation of the tag is deployed: the final comment, the issue closed, the release branch deleted.
Left as is: CTParser and OptimalControl fail in the breakage report, on the base too (CTParser#342, OptimalControl#996); not caused by this release.
Follow-ups: none; the dependents already admit 0.30, so no [compat] bump is needed.
Activity
ocots commentedon Oct 19, 2026
Release proposal — CTBase v0.30.12 (stable)
Version. Last release
0.30.11; last version in General0.30.11. Sincev0.30.11: fixes only. ByREL1(0.Y.Z: the breaking component is Y, a fix bumps Z) andREL2(the triple must be above every one released: 0.30.11), the version is0.30.12.Jump in General (
REL3). None.Resolves from General alone (
REL4). ✅ (10 environments).What changes since
v0.30.11DevTools.test_extensions_qualityno longer throws on a package that defines aUnionalias (test_extensions_quality: parentmodule fails on a Union type alias of the package #619, fix(DevTools): skip Union aliases in _owned_symbols #620).v0.7.0inAGENTS.md(ci: release workflows and ct-conventions v0.7.0 (model for the packages) #623).ReleaseGate.ymlandReleaseTag.yml;Breakage.ymlonbreakage-suite.yml;Documentation.ymldispatchable (ci: release workflows and ct-conventions v0.7.0 (model for the packages) #623).src/Plottingandext/([AUTO] JuliaFormatter.jl run #621), no change of behaviour.[Unreleased]yet, added by the release PR: fix(DevTools): skip Union aliases in _owned_symbols #620.Decisions
0.30.12, as proposed.autonomous: the agent merges withrelease.jl mergeoncerelease.jl readysays ready, and posts the registration comment without asking.What the agent will do
release/v0.30.12(Project.toml,CHANGELOG.md,BREAKING.md) after the release gate passed locally; labelsrun ci github-runner,run breakage,run documentation,documentation push preview(no GPU job in CTBase).release.jl mergeoncerelease.jl readysays ready (what actually ran on the head commit: gate, breakage report, every job the release needs).ReleaseTagworkflow: tagv0.30.12and GitHub release, notes sincev0.30.11.Every step starts from
release.jl status: if anything interrupts the release, it is resumed from where the facts say it is.What the maintainer will do
mainmoves before the registration, the agent asks for a go.ocots commentedon Oct 19, 2026
Phase 3 — Release PR #625.
Done: opened #625 from
release/v0.30.12(166d1316937d847ff236af2b15590bbc7dd78602):Project.tomlat0.30.12, the[Unreleased]entries ofCHANGELOG.mdunder## [0.30.12] - 2026-10-19with the missing fix #620 added, a non-breaking note inBREAKING.md; labelsrun ci github-runner,run breakage,run documentation,documentation push preview, added after creation.Decisions: no GPU label, CTBase has no GPU job.
Check:
release.jl gate --base origin/mainlocally → ✅ ready, 12 checks.Next: phase 4, the checks of the PR; the agent waits for them, then runs
release.jl ready.ocots commentedon Oct 19, 2026
Phase 4 — Checks of #625.
Merge check — #625: ✅ ready
Head commit
166d1316937d847ff236af2b15590bbc7dd78602, branchrelease/v0.30.12.mainAddToProject.yml, run 39246338125: 1 job(s) passedAutoAssign.yml, run 39246338076: 1 job(s) passedBreakage.yml, run 39246345468: 13 job(s) passedCI.yml, run 39246339875: 11 job(s) passedDocumentation.yml, run 39246355518: 1 job(s) passedReleaseGate.yml, run 39246355640: 1 job(s) passedSpellCheck.yml, run 39246338102: 1 job(s) passed[exited with code 0]
Breakage: #625 (comment) — release check
REL1✅: no downstream release broken by0.30.11→0.30.12; CTParser and OptimalControl already fail on the base (CTParser#342, OptimalControl#996).Documentation preview: https://control-toolbox.org/CTBase.jl/previews/PR625/
Next: phase 5,
release.jl merge --confirm(autonomous).ocots commentedon Oct 19, 2026
Phase 5 — Merge.
Done: #625 merged by
release.jl merge --confirmat the head commit it checked (166d131); merge commit9d0b5103e2f9ac5aecdc77d1ace47d1fde2f1f42.Decisions: none.
Check:
release.jl ready→ ✅ ready, the same lines as phase 4.Next: phase 6, the
ReleaseTagworkflow tagsv0.30.12and creates the GitHub release; the agent waits for it.ocots commentedon Oct 19, 2026
Phase 6 — Tag and GitHub release.
Done: the
ReleaseTagworkflow taggedv0.30.12on the merge commit9d0b510and created the GitHub release https://github.com/control-toolbox/CTBase.jl/releases/tag/v0.30.12 (notes sincev0.30.11); it dispatched the documentation workflow on the tag.Decisions: none.
Check:
release.jl status --version 0.30.12→ phase 7, todo: tag on the merge commit, release present,mainstill at the merge commit, no registration comment yet.Next: phase 7, the registration comment, posted once by
release.jl register.ocots commentedon Oct 19, 2026
@JuliaRegistrator register
Release notes:
🐛 Bug Fixes
DevTools.test_extensions_qualityno longer throws on a package that defines aUnionalias:
_owned_symbolsskips the alias, whose members are collected on their own(#619,
#620).
📚 Documentation
v0.7.0inAGENTS.md: the release rulesREL1–REL7in theindex, and a Recurring tasks section pointing to the release recipe of ct-agents.
🧪 Testing
ReleaseGate.yml(the gate of a release PR,REL1–REL7) andReleaseTag.yml(tag and GitHub release of a merged release PR) call CTActions;Breakage.ymlmoves tobreakage-suite.yml(one report, theREL1check of a releasePR) and also runs on push to
main;Documentation.ymlacceptsworkflow_dispatch.✅ Compatibility
BREAKING.md.
What's Changed
Full Changelog: v0.30.11...v0.30.12
JuliaRegistrator commentedon Oct 19, 2026
Registration pull request created: JuliaRegistries/General/172466
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
ocots commentedon Oct 19, 2026
Phase 7 — Registration.
Done: the registration comment was posted once by
release.jl register --post; the bot opened General's PR JuliaRegistries/General#172466, merged by AutoMerge at 2026-10-19 12:31 UTC.Decisions: none (no jump, no
[merge approved]).Check:
release.jl status --version 0.30.12→ phase 8, todo: one registration mention, General holds0.30.12with tree7815d20, the tree of the tag.Next: phase 8, once the documentation of the tag is deployed: the final comment, the issue closed, the release branch deleted.
0.30.12, autonomousREL4)release.jl ready) — [RELEASE] v0.30.12 #624 (comment)ocots commentedon Oct 19, 2026
Phase 8 — CTBase v0.30.12 is released.
0.30.12, autonomous — [RELEASE] v0.30.12 #624 (comment)REL4) — 10 environmentsrelease.jl ready) — [RELEASE] v0.30.12 #624 (comment)release.jl mergeLeft as is: CTParser and OptimalControl fail in the breakage report, on the base too (CTParser#342, OptimalControl#996); not caused by this release.
Follow-ups: none; the dependents already admit
0.30, so no[compat]bump is needed.