@kyaukyuai/linear-cli 2.8.2 → 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 CHANGED
@@ -2,6 +2,23 @@
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
+
5
22
  ## [2.8.2] - 2026-03-24
6
23
 
7
24
  ### Added
package/README.md CHANGED
@@ -114,6 +114,16 @@ for automation consumers, auth and authorization failures now use exit code `4`,
114
114
 
115
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.
116
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
+
117
127
  ## differences from upstream
118
128
 
119
129
  this fork is intentionally diverging from upstream in a few ways:
@@ -184,12 +194,14 @@ linear issue start # create/switch to issue branch and mark as started
184
194
  linear issue start ENG-123 --dry-run # preview the branch and target state
185
195
  linear issue create # create a new issue (interactive prompts)
186
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
187
198
  linear issue create -t "title" --team ENG --json # emit machine-readable created issue data
188
199
  linear issue create -t "title" --team ENG --dry-run --json # preview the created issue payload
189
200
  linear issue create-batch --file ./issue-batch.json --json # create a parent issue and child issues from JSON
190
201
  linear issue create-batch --file ./issue-batch.json --dry-run --json # preview a batch without creating issues
191
202
  linear issue create --project "My Project" --milestone "Phase 1" # create with milestone
192
203
  linear issue update # update an issue (interactive prompts)
204
+ cat description.md | linear issue update ENG-123 --state started # read description from stdin
193
205
  linear issue update ENG-123 --due-date 2026-03-31 # set an issue due date
194
206
  linear issue update ENG-123 --clear-due-date # clear an issue due date
195
207
  linear issue update ENG-123 --assignee self --json # emit machine-readable updated issue data
@@ -200,6 +212,7 @@ linear issue delete # delete an issue
200
212
  linear issue comment list # list comments on current issue
201
213
  linear issue comment add # add a comment to current issue
202
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
203
216
  linear issue comment add -p <id> # reply to a specific comment
204
217
  linear issue comment add ENG-123 --body "follow-up" --json # emit created comment data
205
218
  linear issue comment add ENG-123 --body "follow-up" --dry-run --json # preview comment creation
@@ -209,11 +222,14 @@ linear issue relation delete ENG-123 blocked-by ENG-100 --json # emit machine-r
209
222
  linear issue relation delete ENG-123 blocked-by ENG-100 --dry-run --json # preview relation deletion
210
223
  linear issue relation list ENG-123 --json # emit dependency graph for an issue
211
224
  linear issue comment update <id> # update a comment
225
+ printf "reworded comment\n" | linear issue comment update <id> # read updated body from stdin
212
226
  linear issue commits # show all commits for an issue (jj only)
213
227
  linear issue parent ENG-123 --json # emit the parent issue, or null when absent
214
228
  linear issue children ENG-123 --json # emit child issues for decomposition workflows
215
229
  ```
216
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
+
217
233
  `issue create-batch` expects a JSON file shaped like:
218
234
 
219
235
  ```json
@@ -286,7 +302,7 @@ linear milestone update <milestoneId> --name "New Name" --dry-run # pr
286
302
  linear m update <milestoneId> --target-date "2026-04-15" # update target date
287
303
  linear milestone delete <milestoneId> # delete a milestone
288
304
  linear milestone delete <milestoneId> --dry-run # preview a milestone delete
289
- linear m delete <milestoneId> --force # delete without confirmation
305
+ linear m delete <milestoneId> --yes # delete without confirmation
290
306
  ```
291
307
 
292
308
  ### document commands
@@ -23,7 +23,7 @@
23
23
  "hasInstallScript": true,
24
24
  "license": "MIT",
25
25
  "name": "@kyaukyuai/linear-cli",
26
- "version": "2.8.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.8.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.8.2"
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.8.2",
88
+ "version": "2.9.0",
89
89
  "volta": {
90
90
  "node": "18.14.1",
91
91
  "npm": "9.5.0"