greptile 3.5.1 → 3.5.3

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
@@ -4,6 +4,30 @@ All notable changes to the Greptile CLI.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 3.5.3 - 2026-09-18
8
+
9
+ ### Changed
10
+
11
+ - Environment review instructions now accept up to 32,000 characters, increased
12
+ from 8,000, when setting or editing them through the CLI.
13
+
14
+ ## 3.5.2 - 2026-09-04
15
+
16
+ Republishes 3.5.1 for npm. The 3.5.1 npm publish landed during an
17
+ [npm registry incident](https://status.npmjs.org/incidents/b6958bgj1sm3) on
18
+ 2026-09-03 and its tarball was never stored, so
19
+ `npm install greptile@3.5.1` fails. Homebrew and the GitHub release of 3.5.1
20
+ were unaffected.
21
+
22
+ ### Added
23
+
24
+ - The README now documents telemetry: the eight events sent, what they carry
25
+ and what they never carry, the difference between the anonymous default and
26
+ opt-in account-linked reporting, and every way to turn it off
27
+ (`greptile settings set telemetry false`, `GREPTILE_TELEMETRY_DISABLED`,
28
+ `DO_NOT_TRACK`, `CI`, or a self-hosted deployment). The `telemetry` setting
29
+ and its two environment variables are now listed in the reference tables.
30
+
7
31
  ## 3.5.1 - 2026-09-03
8
32
 
9
33
  ### Changed
package/README.md CHANGED
@@ -13,6 +13,7 @@ Greptile code review in your terminal. Runs the same review Greptile posts on yo
13
13
  - [Diagrams](#diagrams)
14
14
  - [Fix in Claude Code](#fix-in-claude-code)
15
15
  - [Updating](#updating)
16
+ - [Telemetry](#telemetry)
16
17
  - [Reference](#reference)
17
18
 
18
19
  ## Install
@@ -208,13 +209,14 @@ greptile settings list # every setting and where it comes fr
208
209
  greptile settings unset review.layout # back to the default
209
210
  ```
210
211
 
211
- | Setting | Values | Matching flag |
212
- | ---------------- | --------------------------------------- | ------------------------------------------------------ |
213
- | `color` | `true` (default), `false` | `--color` / `--no-color` |
214
- | `review.output` | `auto` (default), `text`, `json` | `--text` / `--json` |
215
- | `review.layout` | `comments` (default), `diff` | `--layout` (`--diff` is shorthand for `--layout diff`) |
216
- | `review.context` | `0` to `60` (default `15`) | `--context` |
217
- | `review.width` | `40` to `240` (default: terminal width) | `--width` |
212
+ | Setting | Values | Matching flag |
213
+ | ---------------- | ---------------------------------------- | ------------------------------------------------------ |
214
+ | `color` | `true` (default), `false` | `--color` / `--no-color` |
215
+ | `review.output` | `auto` (default), `text`, `json` | `--text` / `--json` |
216
+ | `review.layout` | `comments` (default), `diff` | `--layout` (`--diff` is shorthand for `--layout diff`) |
217
+ | `review.context` | `0` to `60` (default `15`) | `--context` |
218
+ | `review.width` | `40` to `240` (default: terminal width) | `--width` |
219
+ | `telemetry` | `true`, `false` (unset until you decide) | — (see [Telemetry](#telemetry)) |
218
220
 
219
221
  A flag passed on the command line always wins over a saved setting for that run.
220
222
 
@@ -287,6 +289,44 @@ greptile update
287
289
 
288
290
  This checks for a newer release and upgrades in place for npm, bun, pnpm, and standalone `install.sh` installs. Three cases are handled differently: Homebrew prints `brew upgrade greptile` for you to run, a CLI that ships inside a Claude Code plugin is updated by updating the plugin, and an install the CLI can't identify — a distro package, a Nix store path, a version-manager shim, a binary copied onto your `PATH` — is reported as such so you can update it the way you installed it. The CLI also checks for updates once a day and prints a notice when one is available; set `GREPTILE_NO_UPDATE_CHECK=1` to turn that off.
289
291
 
292
+ ## Telemetry
293
+
294
+ greptile reports anonymous usage events to help us see which commands people
295
+ run and where they get stuck. The events are lifecycle signals —
296
+ `cli_first_run`, `cli_login_started`, `cli_login_failed`,
297
+ `cli_onboarding_started`, `cli_skill_installed`, `cli_skill_updated`,
298
+ `cli_review_blocked`, `cli_update_completed` — carrying how you installed the
299
+ CLI, your OS and architecture, whether the run was interactive, and which agent
300
+ surface it ran under if any. Never your code, repository or branch names, file
301
+ paths, or review content. Event-specific fields are fixed values: `method`,
302
+ `exit_code`, `reason`, the version strings on an update, and the name of the
303
+ Greptile-authored skill on `cli_skill_installed` and `cli_skill_updated`.
304
+
305
+ There are two tiers, and they are treated differently:
306
+
307
+ - **Anonymous** — a random per-machine identifier, no account attached, and no
308
+ profile built on the other end. This is the default and it is opt-out.
309
+ - **Linked to your account** — the same events, attributed to you. This is
310
+ opt-in, and greptile asks once, on the first interactive run, before sending
311
+ anything under your account.
312
+
313
+ Until you answer that prompt, greptile stays anonymous — including in runs that
314
+ cannot show it at all, such as every run inside an AI coding agent. Once you
315
+ have answered, your answer is what applies: accept, and later agent and script
316
+ runs are account-linked too, because the decision is yours and not the
317
+ terminal's. Declining silences both tiers, not just the linked one.
318
+
319
+ Any one of these turns it off:
320
+
321
+ ```sh
322
+ greptile settings set telemetry false # persistent
323
+ export GREPTILE_TELEMETRY_DISABLED=1 # this shell
324
+ export DO_NOT_TRACK=1 # this shell, and every tool that honors it
325
+ ```
326
+
327
+ It is also off automatically when `CI` is set, and a CLI pointed at a
328
+ self-hosted Greptile sends no telemetry at all.
329
+
290
330
  ## Reference
291
331
 
292
332
  ### Command synopsis
@@ -305,15 +345,17 @@ greptile update
305
345
 
306
346
  ### Environment variables
307
347
 
308
- | Variable | What it does |
309
- | -------------------------- | --------------------------------------------------------------------- |
310
- | `GREPTILE_API_KEY` | Authenticate with an API key; takes precedence over a stored sign-in. |
311
- | `GREPTILE_INLINE_IMAGES` | Force inline diagrams on (`1`, `true`, `kitty`) or off (`0`, `off`). |
312
- | `GREPTILE_NO_AUTO_INSTALL` | Skip the one-time diagram renderer download. |
313
- | `GREPTILE_NO_UPDATE_CHECK` | Skip the daily check for a newer CLI release. |
314
- | `NO_COLOR` | Turn off ANSI color. |
315
- | `FORCE_COLOR` | Turn on ANSI color even when output is piped. |
316
- | `COLUMNS` | Override the output width. |
348
+ | Variable | What it does |
349
+ | ----------------------------- | --------------------------------------------------------------------- |
350
+ | `GREPTILE_API_KEY` | Authenticate with an API key; takes precedence over a stored sign-in. |
351
+ | `GREPTILE_INLINE_IMAGES` | Force inline diagrams on (`1`, `true`, `kitty`) or off (`0`, `off`). |
352
+ | `GREPTILE_NO_AUTO_INSTALL` | Skip the one-time diagram renderer download. |
353
+ | `GREPTILE_NO_UPDATE_CHECK` | Skip the daily check for a newer CLI release. |
354
+ | `GREPTILE_TELEMETRY_DISABLED` | Turn off anonymous usage telemetry. |
355
+ | `DO_NOT_TRACK` | Same, honored alongside other tools that read it. |
356
+ | `NO_COLOR` | Turn off ANSI color. |
357
+ | `FORCE_COLOR` | Turn on ANSI color even when output is piped. |
358
+ | `COLUMNS` | Override the output width. |
317
359
 
318
360
  ### Exit codes
319
361