@kyaukyuai/linear-cli 2.8.1 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/README.md +19 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,33 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [2.9.0] - 2026-03-28
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- added stdin / pipeline support to high-value issue write commands and documented the stdin policy for automation use
|
|
10
|
+
- added retry-safe relation semantics so repeated `issue relation add/delete` operations can return no-op success instead of failing
|
|
11
|
+
- added `--no-pager` compatibility support to `issue create`
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- standardized confirmation bypass flags on destructive commands around `--yes`, while keeping legacy aliases for compatibility
|
|
16
|
+
- expanded agent-focused `--help` examples across automation-tier and major write commands
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- improved `-d/--description` parse failures to recommend `--description-file` or stdin for markdown content, and documented the same guidance in help and README
|
|
21
|
+
|
|
22
|
+
## [2.8.2] - 2026-03-24
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- added rate-limit retry guidance and `error.details.rateLimit` metadata for automation consumers when issue creation hits API throttling
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
|
|
30
|
+
- distinguished plan-limit failures from generic automation errors with exit code `5` and clearer upgrade/archive guidance
|
|
31
|
+
|
|
5
32
|
## [2.8.1] - 2026-03-24
|
|
6
33
|
|
|
7
34
|
### Added
|
package/README.md
CHANGED
|
@@ -110,8 +110,20 @@ for bot and org-wide automation use cases, `linear-cli` defines a stable JSON co
|
|
|
110
110
|
|
|
111
111
|
the contract fixes top-level success payload shapes and requires machine-readable failure payloads for the automation tier. see [docs/json-contracts.md](docs/json-contracts.md) for the full contract, compatibility rules, and example payloads. that guarantee also covers parser and argument validation failures when `--json` is present.
|
|
112
112
|
|
|
113
|
+
for automation consumers, auth and authorization failures now use exit code `4`, while free-plan or workspace-plan limit failures use exit code `5`. other contract failures remain non-zero and currently use `1`. rate-limited responses remain on exit code `1`, but now include retry guidance and, when available, `error.details.rateLimit` metadata.
|
|
114
|
+
|
|
113
115
|
the same document also defines the shared preview contract for future `--dry-run` write commands. those commands are not all implemented yet, but the contract now fixes the expected `stdout`, `exit code`, and `--json --dry-run` envelope shape ahead of rollout.
|
|
114
116
|
|
|
117
|
+
destructive commands use `--yes` as the canonical confirmation-bypass flag. legacy `--force` and `--confirm` flags are still accepted where older workflows already depended on them.
|
|
118
|
+
|
|
119
|
+
for retry behavior, prefer treating write commands in three buckets:
|
|
120
|
+
|
|
121
|
+
- retry-safe set-style writes: `issue update` without `--comment`, plus relation add/delete
|
|
122
|
+
- non-idempotent writes: `issue create`, `issue comment add`, and `issue update --comment`
|
|
123
|
+
- resumable but non-idempotent batch writes: `issue create-batch`, which reports `error.details.createdIdentifiers` and `failedStep` on partial failure
|
|
124
|
+
|
|
125
|
+
For stdin and pipeline behavior, see [docs/stdin-policy.md](docs/stdin-policy.md).
|
|
126
|
+
|
|
115
127
|
## differences from upstream
|
|
116
128
|
|
|
117
129
|
this fork is intentionally diverging from upstream in a few ways:
|
|
@@ -182,12 +194,14 @@ linear issue start # create/switch to issue branch and mark as started
|
|
|
182
194
|
linear issue start ENG-123 --dry-run # preview the branch and target state
|
|
183
195
|
linear issue create # create a new issue (interactive prompts)
|
|
184
196
|
linear issue create -t "title" -d "description" # create with flags
|
|
197
|
+
cat description.md | linear issue create -t "title" --team ENG # read description from stdin
|
|
185
198
|
linear issue create -t "title" --team ENG --json # emit machine-readable created issue data
|
|
186
199
|
linear issue create -t "title" --team ENG --dry-run --json # preview the created issue payload
|
|
187
200
|
linear issue create-batch --file ./issue-batch.json --json # create a parent issue and child issues from JSON
|
|
188
201
|
linear issue create-batch --file ./issue-batch.json --dry-run --json # preview a batch without creating issues
|
|
189
202
|
linear issue create --project "My Project" --milestone "Phase 1" # create with milestone
|
|
190
203
|
linear issue update # update an issue (interactive prompts)
|
|
204
|
+
cat description.md | linear issue update ENG-123 --state started # read description from stdin
|
|
191
205
|
linear issue update ENG-123 --due-date 2026-03-31 # set an issue due date
|
|
192
206
|
linear issue update ENG-123 --clear-due-date # clear an issue due date
|
|
193
207
|
linear issue update ENG-123 --assignee self --json # emit machine-readable updated issue data
|
|
@@ -198,6 +212,7 @@ linear issue delete # delete an issue
|
|
|
198
212
|
linear issue comment list # list comments on current issue
|
|
199
213
|
linear issue comment add # add a comment to current issue
|
|
200
214
|
linear issue comment add ENG-123 "follow-up" # add a comment with positional body
|
|
215
|
+
printf "follow-up\n" | linear issue comment add ENG-123 # read comment body from stdin
|
|
201
216
|
linear issue comment add -p <id> # reply to a specific comment
|
|
202
217
|
linear issue comment add ENG-123 --body "follow-up" --json # emit created comment data
|
|
203
218
|
linear issue comment add ENG-123 --body "follow-up" --dry-run --json # preview comment creation
|
|
@@ -207,11 +222,14 @@ linear issue relation delete ENG-123 blocked-by ENG-100 --json # emit machine-r
|
|
|
207
222
|
linear issue relation delete ENG-123 blocked-by ENG-100 --dry-run --json # preview relation deletion
|
|
208
223
|
linear issue relation list ENG-123 --json # emit dependency graph for an issue
|
|
209
224
|
linear issue comment update <id> # update a comment
|
|
225
|
+
printf "reworded comment\n" | linear issue comment update <id> # read updated body from stdin
|
|
210
226
|
linear issue commits # show all commits for an issue (jj only)
|
|
211
227
|
linear issue parent ENG-123 --json # emit the parent issue, or null when absent
|
|
212
228
|
linear issue children ENG-123 --json # emit child issues for decomposition workflows
|
|
213
229
|
```
|
|
214
230
|
|
|
231
|
+
For short inline text, `-d/--description` is fine. For Markdown content, prefer `--description-file <path>` or pipe content on stdin to avoid shell escaping issues.
|
|
232
|
+
|
|
215
233
|
`issue create-batch` expects a JSON file shaped like:
|
|
216
234
|
|
|
217
235
|
```json
|
|
@@ -284,7 +302,7 @@ linear milestone update <milestoneId> --name "New Name" --dry-run # pr
|
|
|
284
302
|
linear m update <milestoneId> --target-date "2026-04-15" # update target date
|
|
285
303
|
linear milestone delete <milestoneId> # delete a milestone
|
|
286
304
|
linear milestone delete <milestoneId> --dry-run # preview a milestone delete
|
|
287
|
-
linear m delete <milestoneId> --
|
|
305
|
+
linear m delete <milestoneId> --yes # delete without confirmation
|
|
288
306
|
```
|
|
289
307
|
|
|
290
308
|
### document commands
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"hasInstallScript": true,
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"name": "@kyaukyuai/linear-cli",
|
|
26
|
-
"version": "2.
|
|
26
|
+
"version": "2.9.0"
|
|
27
27
|
},
|
|
28
28
|
"node_modules/@isaacs/cliui": {
|
|
29
29
|
"engines": {
|
|
@@ -542,5 +542,5 @@
|
|
|
542
542
|
}
|
|
543
543
|
},
|
|
544
544
|
"requires": true,
|
|
545
|
-
"version": "2.
|
|
545
|
+
"version": "2.9.0"
|
|
546
546
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"artifactDownloadUrls": [
|
|
3
|
-
"https://github.com/kyaukyuai/linear-cli/releases/download/v2.
|
|
3
|
+
"https://github.com/kyaukyuai/linear-cli/releases/download/v2.9.0"
|
|
4
4
|
],
|
|
5
5
|
"bin": {
|
|
6
6
|
"linear": "run-linear.js"
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"zipExt": ".tar.xz"
|
|
86
86
|
}
|
|
87
87
|
},
|
|
88
|
-
"version": "2.
|
|
88
|
+
"version": "2.9.0",
|
|
89
89
|
"volta": {
|
|
90
90
|
"node": "18.14.1",
|
|
91
91
|
"npm": "9.5.0"
|