Skip to content

chore(main): release 0.8.0 - #139

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main--components--linearctl
Open

chore(main): release 0.8.0#139
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main--components--linearctl

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

0.8.0 (2026-08-18)

Features

  • agent: role catalog + scheduler + intake-triage + grooming + guardrails (CER-1188 / Track 1) (b17d601)
  • apply terrarium federation standards (2c185d3)
  • auth: OAuth actor=app scaffolding — linearctl auth (CER-1148) (#112) (8a8854d)
  • backlog reconciliation + milestone create, project update, roadmap view (CER-1604/1686/1687/1688) (#67) (1caf7a2)
  • cli: interactive mode — prompts + spinners (M3) (#37) (2096d59)
  • cli: interactive slices — fuzzy issue picker (show/close) + xref --fix confirm gate (CER-1551) (#41) (b4c521e)
  • cli: TTY-gated styled tables — picocolors + cli-table3 behind isStyled() (#35) (40fb7c1)
  • comment: add headless comment command + comment_issue MCP tool (#33) (0e2f94f)
  • comments: comments-by-author — the 'what did X say' scan in one query (CER-1187) (#55) (e7317e1)
  • cycle: current-cycle review — scope, burn-down, at-risk, carry-over (CER-1143) (#50) (ac3efae)
  • deploy: Dockerfile + chart update for linearctl operator daemon + GHCR build-push (#120) (cd1d0b1)
  • doc: list / create / update Linear documents (CER-1344) (#57) (a710502)
  • doc: project overview get/set — mirror plan docs to Linear headlessly (#26) (b1a4d54)
  • dupcheck: fuzzy title match before filing + file --check-dups guard (CER-1559) (#44) (2b3726a)
  • file: --assignee / --priority / --milestone parity with update (#43) (2a85052)
  • file: --stdin batch mode with pre-flight quota gate (CER-1141) (#53) (b2ba83f)
  • file,update: add --cycle to assign issues to a cycle (OPS-593) (#64) (eb4379e)
  • file: headless issue creation (#7) (2150f52)
  • first-class K8s orchestrator — Helm chart + README rewrite (#102) (8d69ed0)
  • funnel: pull command + soma WorkSource funnel contract (#88) (a028c3a)
  • funnel: soma parity — id field, multi-state --state-set, clobber guard (#89) (759a91b)
  • graph: --parent / --blocked-by / --related-to on file+update, link command (CER-1342, CER-1192) (#51) (0ebd92f)
  • handoff: CRUD — create/list/show/resolve session handoff notes (Track 6-B) (1e94ff9)
  • history: issue activity timeline — the audit trail show doesn't surface (CER-1561) (#48) (d1a6f13)
  • label: list / create / rename — headless label management (CER-1558) (#47) (91ff620)
  • linearctl bulk-remediation + robustness (batch, retry, --project, bulk, milestone delete, label-team fix) (#23) (bac522d)
  • llm: driveAgentLoop reasoning via tailnet LLM gateway (Track 3) (66da658)
  • loops: 4 new recipes + loops lint validator command + tests (#100) (5303928)
  • loops: Linear Loop recipe catalog (#97) (2794af0)
  • mcp: issue update/close — CLI commands + MCP write tools (#11) (fa1cd99)
  • mcp: linearctl mcp serve — stdio MCP server + v1 tools (#10) (97de5b8)
  • mcp: read tools — digest/triage/milestone/stale (#17) (ff174a0)
  • milestone: gap view — empty miles + unassigned issues + doc-section gaps (Track 6-A) (47dcf64)
  • milestone: milestone update command + react-devtools-core build fix (CER-1759) (#119) (c068eb5)
  • milestone: per-milestone burn-down + extract mapPool (#16) (cd4cd90)
  • mine + initiative commands — assignee and initiative catch-up views (OPS-975) (9a5ba2e)
  • mine + initiative commands — assignee and initiative catch-up views (OPS-975) (8e53c06)
  • operator: containment set + dual-writer deny rule (OPS-1214) (813c9a8)
  • operator: containment set + dual-writer deny rule (OPS-1214) (13703f9)
  • operator: HMAC-signed queue message verification (forgery defense) (dcf24b9)
  • operator: HMAC-signed queue message verification (forgery defense) (2ac8e33)
  • operator: linearctl operator daemon + watch delegate-to-operator (CER-1149) (#118) (9fa0183)
  • park: file user stories straight into Backlog (CER-1557) (#46) (ffab9b1)
  • plugin: Claude Code plugin + Claude Desktop .mcpb packaging (#12) (f8ca133)
  • project: create + list Linear projects (#6) (eb80447)
  • pull: add --limit for bounded smoke loops + updatedAt load-bearing invariant (#96) (987a9d9)
  • release-notes: markdown notes from completed issues in a range (CER-1146) (#56) (b4c7c7e)
  • scaffold linear-workflows (lw) — headless Linear workflow CLI (6258215)
  • search: arbitrary-criteria issue search — the grep for Linear (CER-1560) (#40) (fb68eff)
  • show + ratelimit + xref --fix — the reads and remediation the sweep sessions lacked (#25) (42a317d)
  • stale: stale-issue sweep by last-update age (#14) (23eaf6f)
  • standup --slack — operator-gated Slack send (CER-1730) (#104) (e027156)
  • standup: render digest as a standup — no auto-posting by design (CER-1147) (#58) (d5ad6ef)
  • template: file issues from reusable markdown templates (CER-1562) (#49) (24f5b78)
  • triage,digest: finish the grooming surface verbs (#13) (5c6e133)
  • tui: all 5 panes live — digest, milestone, xref, stale (CER-1550) (8490817)
  • tui: all 5 panes live — digest, milestone, xref, stale (CER-1550) (440b460)
  • tui: first slice — Ink ADR-0008, Triage pane, TTY gate (CER-1550) (Track 2) (2b08cb0)
  • update: edit title and description (CER-1341) (#45) (f401985)
  • watch: linearctl watch — full-loop fallback path (CER-1149) (#116) (24b7baf)
  • xref: PR<->ticket cross-ref audit (read-only) (#15) (05f725f)

Bug Fixes

  • add to SearchOptions. (6403d1f)
  • ci: approve-auto-render-ci — add checkout, use API for run listing (d9da15a)
  • ci: approve-auto-render-ci — trigger on velocity completion (de697c0)
  • ci: approve-auto-render-ci — trigger on velocity completion (#80) (de697c0)
  • ci: approve-auto-render-ci — trigger on velocity completion, not CI request (a12a763)
  • ci: auto-approve CI runs on GITHUB_TOKEN-created auto-render PRs (bbe63a7)
  • ci: drive linear-release from release.yml (close tag-trigger gap) (#21) (2fc7a0b)
  • ci: gaze-upon velocity — auto-merge PRs when CI passes (f8c866b)
  • ci: gaze-upon velocity — auto-merge PRs when CI passes (ea2454d)
  • ci: gaze-upon velocity — auto-merge PRs when CI passes (#73) (f8c866b)
  • ci: gaze-upon velocity — push to auto-branch + PR merge, not direct push (f7c879d)
  • ci: gaze-upon velocity — push to auto-branch + PR merge, not direct push (ea2b587)
  • ci: gaze-upon velocity — push to auto-branch + PR merge, not direct push (#71) (f7c879d)
  • ci: render-roadmap.sh — rate-limit guard + graceful degradation (815b34d)
  • ci: render-roadmap.sh — rate-limit guard + graceful degradation (864a120)
  • ci: render-roadmap.sh — rate-limit guard + graceful degradation (#74) (815b34d)
  • cli: picker direct-entry choice appends last, not first (#42) (047c0b6)
  • cli: refuse empty stdin for '-' body flags — no more silent title-only issues (CER-1872) (f1aafd7)
  • cli: refuse empty stdin for '-' body flags (CER-1872) (d08813b)
  • core: add limit field to SearchOptions (#92) (6403d1f)
  • core: eliminate N+1 lazy-relation fetches — grooming reads select state/assignee inline (#38) (35e8fe3)
  • core: paginate project list — was silently truncating at 50 (CER-1771) (c0d983b)
  • core: paginate project list — was silently truncating at 50 (CER-1771) (e7bf632)
  • core: treat 'duplicate' state type as terminal in every sweep (6864693)
  • core: treat Linear's 'duplicate' state type as terminal in every sweep (2fb5b7e)
  • image: drop stale react-devtools stub copy (#121) (7f9674d)
  • operator: close containment fail-open paths per review (10 verified findings) (3719db8)
  • read --version from package.json instead of hardcoding (#20) (ce4ba7d)

Code Refactoring

  • core: extract src/core from command bodies (#9) (e69b75e)

Documentation

  • add feature proposals + TUI/CLI library landscape reference (6c036c8)
  • add tui + interactive mode feature proposals (b0e6d5c)
  • features: mark proposals ticketed with CER IDs after dogfood filing (#34) (4d9569c)
  • handoff: CER-1148 status — live mint verified + URL decisions (#114) (eee5441)
  • loops: document verified GraphQL API status — WorkflowDefinition exists, no mutations (#101) (2aaf392)
  • merge style is merge-commit, never squash — align with estate merge-style SOP (2026-08-06) (08c5f0f)
  • merge style is merge-commit, never squash (estate SOP 2026-08-06) (954dc12)
  • plugin + Desktop install guides; refresh stale status (#19) (d3f2db2)
  • punch-list: mark CER-1148 shipped; add handoff note (#113) (0dc655b)
  • roadmaps: corpus drift refresh 2026-07-29 + render infra fixes (#122) (919db7d)
  • spec the linearctl plugin (Claude Code + Claude Desktop) (#8) (87c66e2)
  • spec: §6.18 auth — flip 'live mint pending' to verified (#115) (202b241)
  • sync roadmap — update spec ticket table (T1-T18 shipped), create roadmap-linearctl.md, refresh punch-list (#98) (a5067b9)
  • track5 — test counts, standup Slack shipped, agent-facility.md ref, CodeQL workflow (b83cdfe)
  • use stable 1Password item ID in the op run auth example (1babe20)

This PR was generated with Release Please. See documentation.

@todie

todie commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Why this PR appeared today after a 6-week gap, and one risk before you merge.

The Release workflow had been failing on every push to main since at least 2026-08-07. Root cause: release PR #52 (release 0.7.0, merged 2026-07-11) still carried the autorelease: pending label. v0.7.0 was minted by hand during the documented 2026-07-11 token incident, so the label was never flipped to tagged — release-please therefore re-attempted "create release for #52" on every push, hit Resource not accessible by integration on releases#create, and failed the run before it could ever open a new Release PR.

Net effect: 136 commits sat unreleased and mise use -g github:cerebral-work/linearctl has been frozen at 0.7.0 for a month.

Fix applied: flipped #52 to autorelease: tagged — a metadata correction asserting something already true (the v0.7.0 tag and GitHub Release both exist), fully reversible, no release created. Then re-drove release-please via the workflow's documented bare-dispatch lever. The run went green for the first time since before 2026-08-07, producing this PR.

Risk to know before merging — I did not fix this and the green run is not evidence I did: merging this PR drives releases#create, which is the exact call that was refused in July. The workflow job already grants contents: write + pull-requests: write, so the grants are not obviously the problem, and the header notes the July refusal happened with "grants identical to prior green runs; user-token creates fine." If it re-fires, the documented recovery applies: mint the release by hand, then workflow_dispatch with tag=vX.Y.Z to compile/attest/upload the binaries.

Releases are operator-gated, so this PR is left open for the operator. Filed from the linearctl lane.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant