Skip to content

chore(release): v0.21.0 — every created issue needs an owner - #45

Merged
muqsitnawaz merged 2 commits into
mainfrom
release-0.21.0
Sep 6, 2026
Merged

chore(release): v0.21.0 — every created issue needs an owner#45
muqsitnawaz merged 2 commits into
mainfrom
release-0.21.0

Conversation

@muqsitnawaz

Copy link
Copy Markdown
Contributor

Release cut for #44 (merged). Mechanical: moves the [Unreleased] CHANGELOG block to [0.21.0] and re-pins install.sh to the new tag + checksum. No behavior change beyond what #44 already landed.

VERSION v0.20.0v0.21.0
EXPECTED_SHA256 d68fe508cb19460d0f2a517062a7a66646525539a11caedaa4a15ae5b3717cbe

The checksum is of linear at origin/main@11c1ef3, which this PR does not modify — so the pin stays valid at the tag:

$ shasum -a 256 linear
d68fe508cb19460d0f2a517062a7a66646525539a11caedaa4a15ae5b3717cbe  linear

v0.21.0 gets tagged on the merge commit, matching how v0.20.0 was cut (tag points at the install.sh pin commit, d7e909b).

What ships

  • linear create refuses to make an unassigned issue and explains why. --force is the deliberate escape hatch. Three paths now fail closed: --assign none, an --assign value matching no human, and an unresolvable API key owner.
  • --from-file bulk output no longer corrupts its tab-separated records — titles and echoed --assign values are escaped.

Full detail and the non-author review verdict: #44.

Pins install.sh to v0.21.0 (linear sha256 d68fe508…). Ships:
- linear create refuses to make an unassigned issue, with a message that
  says why and how to fix it. --force is the deliberate escape hatch.
  Three paths now fail closed: --assign none, an --assign value matching
  no human, and an unresolvable API key owner.
- --from-file bulk output no longer corrupts its tab-separated records:
  titles and echoed --assign values are escaped, so a tab or newline in
  either can't add a phantom column or split a row.
@prix-cloud

prix-cloud Bot commented Sep 6, 2026

Copy link
Copy Markdown

VERDICT: APPROVE

Code Reviewer

Verdict: Ready to merge

Build: No build step — linear binary is pre-built, tests import the Python script directly.
Tests: 145/145 passed (0.024s)

Changes

File Δ What
CHANGELOG.md +2/−0 Move [Unreleased] to [0.21.0] - 2026-09-05
install.sh +2/−2 Bump VERSION to v0.21.0, update EXPECTED_SHA256

Verified

  • Checksum match: shasum -a 256 linear = d68fe508cb19460d0f2a517062a7a66646525539a11caedaa4a15ae5b3717cbe ✅ — matches the PR's pin.
  • Binary version: reports linear-cli 0.20.0 (pre-release; binary is not rebuilt in this PR, only the install pin is updated).
  • Tests: all 145 pass.
  • CHANGELOG format: consistent with Keep a Changelog convention and the repo's existing entries.
  • No stale link references: the changelog doesn't use reference-style links for version headings, so no [unreleased]: or [0.21.0]: definition is needed.

Clean mechanical release cut. No issues.


Reviewed by Code Reviewer — actually ran the build and tests on this branch.

Both install snippets were still on v0.18.0 — stale since v0.19.0, so
anyone following the README got a build three releases behind and
missing this release's owner guard. Found in review of #45.
@prix-cloud

prix-cloud Bot commented Sep 6, 2026

Copy link
Copy Markdown

VERDICT: APPROVE

Code Reviewer

Verdict: Ready to merge — mechanical release cut, no behavioral changes.

Build: Not applicable (Python script, no build step)
Tests: 145/145 passed locally (unittest); CI all green (unittest ×2, CodeQL, Analyze)

Changes verified

File Change Status
CHANGELOG.md Moves [Unreleased] block → [0.21.0] - 2026-09-05 ✅ Correct — follows the established pattern from v0.20.0
README.md Pins from v0.18.0v0.21.0 (2 URLs) ✅ Correct
install.sh VERSION: v0.20.0v0.21.0; EXPECTED_SHA256 updated ✅ Verified — checksum matches live binary: d68fe508cb…

What was confirmed

  • Checksum verified: sha256sum linear produces the exact value in the new EXPECTED_SHA256 (d68fe508cb19460d0f2a517062a7a66646525539a11caedaa4a15ae5b3717cbe).
  • Tests green: All 145 tests pass on this branch. No source changes — the test suite behavior is unchanged from the v0.20.0 cut.
  • CI green: 5/5 checks pass on the PR.
  • No source drift: The linear binary is identical to what's on origin/main@11c1ef3 (the PR only touches CHANGELOG.md, README.md, install.sh).
  • No stubs, no env-var additions, no config drift: The changes are purely mechanical version/checksum bumps. No new symbols, no behavioral changes.

Reviewed by Code Reviewer — actually ran the tests and verified the checksum on this branch.

@muqsitnawaz

Copy link
Copy Markdown
Contributor Author

Non-author review — verdict: READY TO MERGE

Reviewed by the code-reviewer subagent (non-author). The one catastrophic failure mode here is a wrong checksum — install.sh fails closed, so a bad pin bricks curl | sh for every new install. The reviewer computed it independently rather than trusting the PR body:

$ shasum -a 256 linear
d68fe508cb19460d0f2a517062a7a66646525539a11caedaa4a15ae5b3717cbe  linear

Exact match against install.sh:11.

Also verified:

  • git diff origin/main...HEAD -- linear is empty — this PR doesn't touch the file it pins.
  • No drift possible between now and tag time: linear's last-touching commit (11c1ef3) is the current tip of origin/main, so any merge strategy carries an identical blob to the tag.
  • CHANGELOG is correct Keep-a-Changelog form — [Unreleased] preserved and empty, [0.21.0] - 2026-09-05 inserted, no content moved or dropped.
  • Repo-wide grep for v0.20.0 / LINEAR_CLI_VERSION / LINEAR_CLI_SHA256 / the old 40e95dd4 hash found no other pin needing a bump.
  • Semver: this project has never left 0.x across 27 tags, and prior behavior changes shipped as minor bumps. Under SemVer §4 a major bump isn't required for 0.x. Minor is consistent with precedent.

Review finding, fixed in this PR

README install snippets were stale at v0.18.0 (README.md:33,39) — bumped every release through v0.18.0, then missed for v0.19.0, v0.19.1, and v0.20.0. Anyone following the "Preferred" install path was getting a build three releases behind, and would have gotten one missing this release's owner guard. Both snippets now point at v0.21.0. The linear checksum is unchanged by that edit (re-verified above).

CI green on the head commit: Analyze (actions), Analyze (python), CodeQL, unittest ×2.

Tagging v0.21.0 on the merge commit, matching how v0.20.0 was cut.

@muqsitnawaz
muqsitnawaz merged commit 775bc22 into main Sep 6, 2026
5 checks passed
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.

1 participant