squeez 1.30.0 → 1.31.1

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +580 -1
  2. package/README.md +23 -23
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -9,6 +9,583 @@ conventional commit messages on `main`.
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [1.31.0] - 2026-06-22
13
+
14
+ ### Added
15
+ - feat(tokens): code- and CJK-aware token estimate for compression decisions (#162)
16
+ - feat(toon): encode objects with nested values instead of rejecting them (#160)
17
+ - feat(truncation): relevance-aware truncation keeps the lines that matter (#158)
18
+ - feat(log-template): collapse near-identical log lines into templated counts (#156)
19
+ - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154)
20
+ - feat(config): add `squeez config` CLI + `/squeez` slash command (#152)
21
+ - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147)
22
+ - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit
23
+ - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration
24
+ - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135)
25
+ - feat(benchmark): add information-preservation guard against output-token inflation (#133)
26
+ - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134)
27
+ - feat(sig-mode): preserve attribute / decorator above kept signatures (#137)
28
+ - feat(economy): auto-curation nudges + cross-session handler stats (#118)
29
+ - feat(hosts): add Pi adapter (#116)
30
+ - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps
31
+ - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios
32
+ - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102)
33
+ - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101)
34
+ - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100)
35
+ - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+)
36
+ - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90)
37
+ - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88)
38
+ - feat(economy): compress Agent/Task prompt at PreToolUse time (#87)
39
+ - feat(handlers): xcodebuild noise filter + log-file tail detection (#84)
40
+ - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74)
41
+ - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70)
42
+ - feat(setup): adapter-driven setup/uninstall across all hosts (#58)
43
+ - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55)
44
+ - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52)
45
+ - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48)
46
+ - wrangler, playwright, next build handlers + bun/drizzle routing (#34)
47
+ - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort
48
+ - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
49
+ - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
50
+ - structured session memory, cross-session search, error snippets, configurable tunables
51
+ - feat(setup): create config.ini on first install
52
+ - feat(i18n): locale-aware compress-md with pt-BR support (#25)
53
+ - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
54
+ - Windows setup via cargo/npm + squeez update fix
55
+ - feat(benchmark): add squeez benchmark command with 19-scenario test suite
56
+ - feat(ci): re-add promote-develop workflow with correct registration
57
+ - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
58
+ - feat(npm+crates): add npm package and publish jobs to release workflow
59
+ - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
60
+ - compress-md, caveman persona, squeez update, track-result hook
61
+ - feat(context): adaptive intensity always picks Ultra
62
+ - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
63
+ - add Windows support to install.sh and release.yml
64
+ - add home_dir() helper with USERPROFILE fallback for Windows
65
+ - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
66
+ - add GitHub Copilot CLI support
67
+ - add OpenCode plugin for automatic Bash compression
68
+ - add universal installer support for macOS and Linux
69
+ - expand benchmarks, edge-case tests, and README polish
70
+ - add SessionStart + PostToolUse hooks, update install.sh and README
71
+ - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
72
+ - squeez init — session start, prior memory banner, session finalization (TDD)
73
+ - squeez track — token accumulation + session event log (TDD)
74
+ - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
75
+ - session.rs — CurrentSession, append_event, date math (TDD)
76
+ - json_util helpers + compact_threshold_tokens, memory_retention_days config
77
+ - benchmark system — all fixtures passing
78
+ - build.sh compiles + installs squeez, registers hook
79
+ - PreToolUse hook script
80
+ - fs and runtime handlers — all handler tests passing
81
+ - cloud, database, network handlers (TDD)
82
+ - typescript and build handlers (TDD)
83
+ - package_mgr and test_runner handlers (TDD)
84
+ - git and docker handlers (TDD)
85
+ - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
86
+ - Handler trait with cmd+config, generic handler, command router, filter_stdin
87
+ - truncation strategy (TDD) — all strategy tests passing
88
+ - grouping strategy (TDD)
89
+ - dedup strategy (TDD)
90
+ - smart_filter strategy with node_modules frame removal (TDD)
91
+ - implement config.ini parser (TDD)
92
+
93
+ ### Changed
94
+ - chore(release): bump version to 1.31.0 [squeez-release-bot]
95
+ - docs: update changelog and benchmarks for v1.30.0
96
+ - chore(release): bump version to 1.30.0 [squeez-release-bot]
97
+ - docs: update changelog and benchmarks for v1.29.0
98
+ - chore(release): bump version to 1.29.0 [squeez-release-bot]
99
+ - docs: update changelog and benchmarks for v1.28.0
100
+ - chore(release): bump version to 1.28.0 [squeez-release-bot]
101
+ - docs: update changelog and benchmarks for v1.27.0
102
+ - chore(release): bump version to 1.27.0 [squeez-release-bot]
103
+ - docs: update changelog and benchmarks for v1.26.0
104
+ - chore(release): bump version to 1.26.0 [squeez-release-bot]
105
+ - docs: update changelog and benchmarks for v1.25.0
106
+ - chore(release): bump version to 1.25.0 [squeez-release-bot]
107
+ - docs: update changelog and benchmarks for v1.24.0
108
+ - docs: update changelog and benchmarks for v1.23.1
109
+ - chore(release): bump version to 1.24.0 [squeez-release-bot]
110
+ - chore(release): bump version to 1.23.1 [squeez-release-bot]
111
+ - docs: update changelog and benchmarks for v1.23.0
112
+ - chore(release): bump version to 1.23.0 [squeez-release-bot]
113
+ - docs: update changelog and benchmarks for v1.22.1
114
+ - docs: update changelog and benchmarks for v1.22.1
115
+ - docs: update changelog and benchmarks for v1.22.1
116
+ - chore(release): bump version to 1.22.1 [squeez-release-bot]
117
+ - docs: update changelog and benchmarks for v1.22.0
118
+ - chore(release): bump version to 1.22.0 [squeez-release-bot]
119
+ - docs: update changelog and benchmarks for v1.21.1
120
+ - chore(release): bump version to 1.21.1 [squeez-release-bot]
121
+ - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142)
122
+ - docs: update changelog and benchmarks for v1.21.0
123
+ - chore(release): bump version to 1.21.0 [squeez-release-bot]
124
+ - docs: update changelog and benchmarks for v1.20.0
125
+ - chore(release): bump version to 1.20.0 [squeez-release-bot]
126
+ - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138)
127
+ - test(cache): lock in byte-stability of MCP and protocol payloads (#136)
128
+ - docs: update changelog and benchmarks for v1.19.4
129
+ - chore(release): bump version to 1.19.4 [squeez-release-bot]
130
+ - docs: update changelog and benchmarks for v1.19.3
131
+ - chore(release): bump version to 1.19.3 [squeez-release-bot]
132
+ - docs: update changelog and benchmarks for v1.19.2
133
+ - chore(release): bump version to 1.19.2 [squeez-release-bot]
134
+ - docs: update changelog and benchmarks for v1.19.1
135
+ - chore(release): bump version to 1.19.1 [squeez-release-bot]
136
+ - docs: update changelog and benchmarks for v1.19.0
137
+ - chore(release): bump version to 1.19.0 [squeez-release-bot]
138
+ - docs: update changelog and benchmarks for v1.18.1
139
+ - chore(release): bump version to 1.18.1 [squeez-release-bot]
140
+ - docs: update changelog and benchmarks for v1.18.0
141
+ - chore(release): bump version to 1.18.0 [squeez-release-bot]
142
+ - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111)
143
+ - docs: update changelog and benchmarks for v1.17.0
144
+ - chore(release): bump version to 1.17.0 [squeez-release-bot]
145
+ - docs: update changelog and benchmarks for v1.16.0
146
+ - chore(release): bump version to 1.16.0 [squeez-release-bot]
147
+ - docs: update changelog and benchmarks for v1.15.1
148
+ - chore(release): bump version to 1.15.1 [squeez-release-bot]
149
+ - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108)
150
+ - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106)
151
+ - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103)
152
+ - docs: update changelog and benchmarks for v1.15.0
153
+ - chore(release): bump version to 1.15.0 [squeez-release-bot]
154
+ - docs: update changelog and benchmarks for v1.13.0
155
+ - chore(release): bump version to 1.14.0 [squeez-release-bot]
156
+ - chore(release): bump version to 1.13.0 [squeez-release-bot]
157
+ - docs: update changelog and benchmarks for v1.12.0
158
+ - chore(release): bump version to 1.12.0 [squeez-release-bot]
159
+ - docs(codex): update adapter comments and README for 0.123.0 hook surface
160
+ - docs: update changelog and benchmarks for v1.11.2
161
+ - chore(release): bump version to 1.11.2 [squeez-release-bot]
162
+ - docs: update changelog and benchmarks for v1.11.1
163
+ - chore(release): bump version to 1.11.1 [squeez-release-bot]
164
+ - docs: update changelog and benchmarks for v1.11.0
165
+ - chore(release): bump version to 1.11.0 [squeez-release-bot]
166
+ - docs: update changelog and benchmarks for v1.10.0
167
+ - docs: update changelog and benchmarks for v1.9.0
168
+ - chore(release): bump version to 1.10.0 [squeez-release-bot]
169
+ - docs(readme): document squeez's compression scope and architectural limits (#85)
170
+ - chore(release): bump version to 1.9.0 [squeez-release-bot]
171
+ - chore(release): bump version to 1.8.0 [squeez-release-bot]
172
+ - docs: update changelog and benchmarks for v1.7.7
173
+ - chore(release): bump version to 1.7.7 [squeez-release-bot]
174
+ - docs: update changelog and benchmarks for v1.7.6
175
+ - chore(release): bump version to 1.7.6 [squeez-release-bot]
176
+ - docs: update changelog and benchmarks for v1.7.5
177
+ - chore(release): bump version to 1.7.5 [squeez-release-bot]
178
+ - docs: update changelog and benchmarks for v1.7.4
179
+ - chore(release): bump version to 1.7.4 [squeez-release-bot]
180
+ - perf: O(log n) refactor — tail read, offset index, single-pass parser
181
+ - docs: update changelog and benchmarks for v1.7.3
182
+ - chore(release): bump version to 1.7.3 [squeez-release-bot]
183
+ - chore(release): bump version to 1.7.2 [squeez-release-bot]
184
+ - restore: revert accidental deletion of auto-release.yml workflow
185
+ - docs: update changelog and benchmarks for v1.7.1
186
+ - chore(release): bump version to 1.7.1 [squeez-release-bot]
187
+ - chore: relicense to Apache 2.0 + add DCO policy + banner (#76)
188
+ - docs: update changelog and benchmarks for v1.7.0
189
+ - chore(release): bump version to 1.7.0 [squeez-release-bot]
190
+ - docs: update changelog and benchmarks for v1.6.1
191
+ - chore(release): bump version to 1.6.1 [squeez-release-bot]
192
+ - docs: update changelog and benchmarks for v1.6.0
193
+ - chore(release): bump version to 1.6.0 [squeez-release-bot]
194
+ - docs: update changelog and benchmarks for v1.5.2
195
+ - chore(release): bump version to 1.5.2 [squeez-release-bot]
196
+ - chore(release): bump version to 1.5.1 [squeez-release-bot]
197
+ - docs: five-host matrix + squeez setup/uninstall flow (#63)
198
+ - refactor(install): delegate host registration to 'squeez setup' (#60)
199
+ - chore(release): bump version to 1.5.0 [squeez-release-bot]
200
+ - chore(release): bump version to 1.4.0 [squeez-release-bot]
201
+ - chore(release): bump version to 1.3.0 [squeez-release-bot]
202
+ - chore(release): bump version to 1.2.0 [squeez-release-bot]
203
+ - chore(release): bump version to 1.1.0 [squeez-release-bot]
204
+ - chore(release): bump version to 1.0.0 [skip release]
205
+ - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42)
206
+ - ci: conventional-commit-driven auto-release (#40)
207
+ - chore(gov): issue-form templates + refined PR template (#39)
208
+ - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33)
209
+ - chore(release): bump version to 0.4.1
210
+ - chore(release): bump version to 0.4.0
211
+ - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30)
212
+ - chore: bump version to 0.3.2
213
+ - docs: add shields.io badge for changelog link
214
+ - chore: bump version to 0.3.1
215
+ - chore: bump version to 0.2.3
216
+ - docs: update README with 11 MCP tools, structured memory, and advanced tunables
217
+ - chore: bump version to 0.2.2
218
+ - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
219
+ - chore: refresh bench/report.md from latest run [skip release]
220
+ - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
221
+ - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
222
+ - chore: bump version to 0.2.0; add Cargo.toml metadata
223
+ - ci: PR template, linked-issue enforcement, no-claude-trailer check
224
+ - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
225
+ - ci: auto-delete branches after PR merge
226
+ - docs: update Windows installation instructions and prerequisites in README
227
+ - docs: add Windows support and Rust install instructions to README
228
+ - refactor: use session::home_dir() in config and init (Windows compat)
229
+ - ci: trigger promote workflow (test)
230
+ - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
231
+ - docs(readme): add changelog, contribution workflow, and benchmark notes
232
+ - ci(workflow): create/update PR from develop to main on push
233
+ - chore: add .worktrees/ to gitignore
234
+ - chore: add docs/ to gitignore (local design specs)
235
+ - docs: update README for GitHub Copilot CLI support
236
+ - security: fix remaining LOW findings in wrap.rs
237
+ - security: fix 2 follow-up findings from second audit
238
+ - security: fix all 8 findings from security audit
239
+ - ci: build and install binary before running benchmarks
240
+ - chore: add GitHub sponsor button
241
+ - chore: ignore .omc/ directory, remove from tracking
242
+ - chore: update benchmark report (7/7 passing)
243
+ - docs: update README — real benchmarks, Phase 2 config, how it works
244
+ - style: cargo fmt on session.rs and test_session.rs
245
+ - chore: open source files — README, LICENSE, CI/release workflows, install.sh
246
+ - chore: scaffold squeez Rust project
247
+
248
+ ### Fixed
249
+ - fix(fs): stop collapsing ls/find listings to "N modified" count (#151)
250
+ - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146)
251
+ - fix(release): make publish-npm non-blocking; add npm whoami diagnostic
252
+ - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143)
253
+ - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126)
254
+ - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124)
255
+ - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121)
256
+ - fix(claude-code): write hooks under settings.hooks.<event>, not at top level (#119)
257
+ - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115)
258
+ - fix(statusline): show compression % and fix Python heredoc expansion bug
259
+ - plan-mode passthrough + release description body (#95)
260
+ - fix(session-start): health check missed top-level event keys (#92)
261
+ - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86)
262
+ - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81)
263
+ - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83)
264
+ - prevent OOM from unbounded file reads + data integrity fixes
265
+ - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build
266
+ - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79)
267
+ - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78)
268
+ - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72)
269
+ - fix(ci): push release docs directly to main (loop-safe) (#68)
270
+ - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65)
271
+ - fix(ci): startsWith guard for auto-release recursion (#46)
272
+ - fix(ci): tighten auto-release bump detection + fix tag push (#44)
273
+ - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes
274
+ - fix(ci): skip publish gracefully when version already exists on crates.io/npm
275
+ - fix(ci): run update-docs even if publish jobs fail (already published)
276
+ - fix(ci): continue-on-error for publish jobs so update-docs always runs
277
+ - fix(ci): add pull-requests write permission to update-docs job
278
+ - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
279
+ - fix(ci): update-docs creates PR instead of pushing directly to protected main
280
+ - fix(npm): copy README.md into npm package before publish; add readme field
281
+ - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
282
+ - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
283
+ - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
284
+ - fix(ci): fix flaky test tmp dir collision + simplify auto-release
285
+ - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
286
+ - fix(ci): remove secrets in step if-conditions — check token inside script instead
287
+ - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
288
+ - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
289
+ - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
290
+ - fix(statusline): remove Ctx% — show only squeez compression metrics
291
+ - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
292
+ - resolve gap analysis — new handlers, wider redundancy window, token budget
293
+ - install.sh — clarify PostToolUse no-matcher intent, guard version echo
294
+ - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
295
+ - use ends_with for files_committed check in init finalize
296
+ - json_util — guard extract_u64 empty digit, add json_util test coverage
297
+ - add pre-flight binary check to bench/run.sh
298
+ - atomic settings.json write + uninstall safety guards
299
+ - harden pretooluse hook (shlex.quote, error handling, single path source)
300
+ - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
301
+
302
+ ## [1.30.0] - 2026-06-22
303
+
304
+ ### Added
305
+ - feat(toon): encode objects with nested values instead of rejecting them (#160)
306
+ - feat(truncation): relevance-aware truncation keeps the lines that matter (#158)
307
+ - feat(log-template): collapse near-identical log lines into templated counts (#156)
308
+ - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154)
309
+ - feat(config): add `squeez config` CLI + `/squeez` slash command (#152)
310
+ - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147)
311
+ - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit
312
+ - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration
313
+ - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135)
314
+ - feat(benchmark): add information-preservation guard against output-token inflation (#133)
315
+ - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134)
316
+ - feat(sig-mode): preserve attribute / decorator above kept signatures (#137)
317
+ - feat(economy): auto-curation nudges + cross-session handler stats (#118)
318
+ - feat(hosts): add Pi adapter (#116)
319
+ - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps
320
+ - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios
321
+ - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102)
322
+ - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101)
323
+ - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100)
324
+ - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+)
325
+ - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90)
326
+ - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88)
327
+ - feat(economy): compress Agent/Task prompt at PreToolUse time (#87)
328
+ - feat(handlers): xcodebuild noise filter + log-file tail detection (#84)
329
+ - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74)
330
+ - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70)
331
+ - feat(setup): adapter-driven setup/uninstall across all hosts (#58)
332
+ - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55)
333
+ - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52)
334
+ - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48)
335
+ - wrangler, playwright, next build handlers + bun/drizzle routing (#34)
336
+ - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort
337
+ - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
338
+ - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
339
+ - structured session memory, cross-session search, error snippets, configurable tunables
340
+ - feat(setup): create config.ini on first install
341
+ - feat(i18n): locale-aware compress-md with pt-BR support (#25)
342
+ - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
343
+ - Windows setup via cargo/npm + squeez update fix
344
+ - feat(benchmark): add squeez benchmark command with 19-scenario test suite
345
+ - feat(ci): re-add promote-develop workflow with correct registration
346
+ - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
347
+ - feat(npm+crates): add npm package and publish jobs to release workflow
348
+ - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
349
+ - compress-md, caveman persona, squeez update, track-result hook
350
+ - feat(context): adaptive intensity always picks Ultra
351
+ - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
352
+ - add Windows support to install.sh and release.yml
353
+ - add home_dir() helper with USERPROFILE fallback for Windows
354
+ - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
355
+ - add GitHub Copilot CLI support
356
+ - add OpenCode plugin for automatic Bash compression
357
+ - add universal installer support for macOS and Linux
358
+ - expand benchmarks, edge-case tests, and README polish
359
+ - add SessionStart + PostToolUse hooks, update install.sh and README
360
+ - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
361
+ - squeez init — session start, prior memory banner, session finalization (TDD)
362
+ - squeez track — token accumulation + session event log (TDD)
363
+ - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
364
+ - session.rs — CurrentSession, append_event, date math (TDD)
365
+ - json_util helpers + compact_threshold_tokens, memory_retention_days config
366
+ - benchmark system — all fixtures passing
367
+ - build.sh compiles + installs squeez, registers hook
368
+ - PreToolUse hook script
369
+ - fs and runtime handlers — all handler tests passing
370
+ - cloud, database, network handlers (TDD)
371
+ - typescript and build handlers (TDD)
372
+ - package_mgr and test_runner handlers (TDD)
373
+ - git and docker handlers (TDD)
374
+ - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
375
+ - Handler trait with cmd+config, generic handler, command router, filter_stdin
376
+ - truncation strategy (TDD) — all strategy tests passing
377
+ - grouping strategy (TDD)
378
+ - dedup strategy (TDD)
379
+ - smart_filter strategy with node_modules frame removal (TDD)
380
+ - implement config.ini parser (TDD)
381
+
382
+ ### Changed
383
+ - chore(release): bump version to 1.30.0 [squeez-release-bot]
384
+ - docs: update changelog and benchmarks for v1.29.0
385
+ - chore(release): bump version to 1.29.0 [squeez-release-bot]
386
+ - docs: update changelog and benchmarks for v1.28.0
387
+ - chore(release): bump version to 1.28.0 [squeez-release-bot]
388
+ - docs: update changelog and benchmarks for v1.27.0
389
+ - chore(release): bump version to 1.27.0 [squeez-release-bot]
390
+ - docs: update changelog and benchmarks for v1.26.0
391
+ - chore(release): bump version to 1.26.0 [squeez-release-bot]
392
+ - docs: update changelog and benchmarks for v1.25.0
393
+ - chore(release): bump version to 1.25.0 [squeez-release-bot]
394
+ - docs: update changelog and benchmarks for v1.24.0
395
+ - docs: update changelog and benchmarks for v1.23.1
396
+ - chore(release): bump version to 1.24.0 [squeez-release-bot]
397
+ - chore(release): bump version to 1.23.1 [squeez-release-bot]
398
+ - docs: update changelog and benchmarks for v1.23.0
399
+ - chore(release): bump version to 1.23.0 [squeez-release-bot]
400
+ - docs: update changelog and benchmarks for v1.22.1
401
+ - docs: update changelog and benchmarks for v1.22.1
402
+ - docs: update changelog and benchmarks for v1.22.1
403
+ - chore(release): bump version to 1.22.1 [squeez-release-bot]
404
+ - docs: update changelog and benchmarks for v1.22.0
405
+ - chore(release): bump version to 1.22.0 [squeez-release-bot]
406
+ - docs: update changelog and benchmarks for v1.21.1
407
+ - chore(release): bump version to 1.21.1 [squeez-release-bot]
408
+ - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142)
409
+ - docs: update changelog and benchmarks for v1.21.0
410
+ - chore(release): bump version to 1.21.0 [squeez-release-bot]
411
+ - docs: update changelog and benchmarks for v1.20.0
412
+ - chore(release): bump version to 1.20.0 [squeez-release-bot]
413
+ - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138)
414
+ - test(cache): lock in byte-stability of MCP and protocol payloads (#136)
415
+ - docs: update changelog and benchmarks for v1.19.4
416
+ - chore(release): bump version to 1.19.4 [squeez-release-bot]
417
+ - docs: update changelog and benchmarks for v1.19.3
418
+ - chore(release): bump version to 1.19.3 [squeez-release-bot]
419
+ - docs: update changelog and benchmarks for v1.19.2
420
+ - chore(release): bump version to 1.19.2 [squeez-release-bot]
421
+ - docs: update changelog and benchmarks for v1.19.1
422
+ - chore(release): bump version to 1.19.1 [squeez-release-bot]
423
+ - docs: update changelog and benchmarks for v1.19.0
424
+ - chore(release): bump version to 1.19.0 [squeez-release-bot]
425
+ - docs: update changelog and benchmarks for v1.18.1
426
+ - chore(release): bump version to 1.18.1 [squeez-release-bot]
427
+ - docs: update changelog and benchmarks for v1.18.0
428
+ - chore(release): bump version to 1.18.0 [squeez-release-bot]
429
+ - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111)
430
+ - docs: update changelog and benchmarks for v1.17.0
431
+ - chore(release): bump version to 1.17.0 [squeez-release-bot]
432
+ - docs: update changelog and benchmarks for v1.16.0
433
+ - chore(release): bump version to 1.16.0 [squeez-release-bot]
434
+ - docs: update changelog and benchmarks for v1.15.1
435
+ - chore(release): bump version to 1.15.1 [squeez-release-bot]
436
+ - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108)
437
+ - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106)
438
+ - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103)
439
+ - docs: update changelog and benchmarks for v1.15.0
440
+ - chore(release): bump version to 1.15.0 [squeez-release-bot]
441
+ - docs: update changelog and benchmarks for v1.13.0
442
+ - chore(release): bump version to 1.14.0 [squeez-release-bot]
443
+ - chore(release): bump version to 1.13.0 [squeez-release-bot]
444
+ - docs: update changelog and benchmarks for v1.12.0
445
+ - chore(release): bump version to 1.12.0 [squeez-release-bot]
446
+ - docs(codex): update adapter comments and README for 0.123.0 hook surface
447
+ - docs: update changelog and benchmarks for v1.11.2
448
+ - chore(release): bump version to 1.11.2 [squeez-release-bot]
449
+ - docs: update changelog and benchmarks for v1.11.1
450
+ - chore(release): bump version to 1.11.1 [squeez-release-bot]
451
+ - docs: update changelog and benchmarks for v1.11.0
452
+ - chore(release): bump version to 1.11.0 [squeez-release-bot]
453
+ - docs: update changelog and benchmarks for v1.10.0
454
+ - docs: update changelog and benchmarks for v1.9.0
455
+ - chore(release): bump version to 1.10.0 [squeez-release-bot]
456
+ - docs(readme): document squeez's compression scope and architectural limits (#85)
457
+ - chore(release): bump version to 1.9.0 [squeez-release-bot]
458
+ - chore(release): bump version to 1.8.0 [squeez-release-bot]
459
+ - docs: update changelog and benchmarks for v1.7.7
460
+ - chore(release): bump version to 1.7.7 [squeez-release-bot]
461
+ - docs: update changelog and benchmarks for v1.7.6
462
+ - chore(release): bump version to 1.7.6 [squeez-release-bot]
463
+ - docs: update changelog and benchmarks for v1.7.5
464
+ - chore(release): bump version to 1.7.5 [squeez-release-bot]
465
+ - docs: update changelog and benchmarks for v1.7.4
466
+ - chore(release): bump version to 1.7.4 [squeez-release-bot]
467
+ - perf: O(log n) refactor — tail read, offset index, single-pass parser
468
+ - docs: update changelog and benchmarks for v1.7.3
469
+ - chore(release): bump version to 1.7.3 [squeez-release-bot]
470
+ - chore(release): bump version to 1.7.2 [squeez-release-bot]
471
+ - restore: revert accidental deletion of auto-release.yml workflow
472
+ - docs: update changelog and benchmarks for v1.7.1
473
+ - chore(release): bump version to 1.7.1 [squeez-release-bot]
474
+ - chore: relicense to Apache 2.0 + add DCO policy + banner (#76)
475
+ - docs: update changelog and benchmarks for v1.7.0
476
+ - chore(release): bump version to 1.7.0 [squeez-release-bot]
477
+ - docs: update changelog and benchmarks for v1.6.1
478
+ - chore(release): bump version to 1.6.1 [squeez-release-bot]
479
+ - docs: update changelog and benchmarks for v1.6.0
480
+ - chore(release): bump version to 1.6.0 [squeez-release-bot]
481
+ - docs: update changelog and benchmarks for v1.5.2
482
+ - chore(release): bump version to 1.5.2 [squeez-release-bot]
483
+ - chore(release): bump version to 1.5.1 [squeez-release-bot]
484
+ - docs: five-host matrix + squeez setup/uninstall flow (#63)
485
+ - refactor(install): delegate host registration to 'squeez setup' (#60)
486
+ - chore(release): bump version to 1.5.0 [squeez-release-bot]
487
+ - chore(release): bump version to 1.4.0 [squeez-release-bot]
488
+ - chore(release): bump version to 1.3.0 [squeez-release-bot]
489
+ - chore(release): bump version to 1.2.0 [squeez-release-bot]
490
+ - chore(release): bump version to 1.1.0 [squeez-release-bot]
491
+ - chore(release): bump version to 1.0.0 [skip release]
492
+ - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42)
493
+ - ci: conventional-commit-driven auto-release (#40)
494
+ - chore(gov): issue-form templates + refined PR template (#39)
495
+ - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33)
496
+ - chore(release): bump version to 0.4.1
497
+ - chore(release): bump version to 0.4.0
498
+ - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30)
499
+ - chore: bump version to 0.3.2
500
+ - docs: add shields.io badge for changelog link
501
+ - chore: bump version to 0.3.1
502
+ - chore: bump version to 0.2.3
503
+ - docs: update README with 11 MCP tools, structured memory, and advanced tunables
504
+ - chore: bump version to 0.2.2
505
+ - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
506
+ - chore: refresh bench/report.md from latest run [skip release]
507
+ - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
508
+ - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
509
+ - chore: bump version to 0.2.0; add Cargo.toml metadata
510
+ - ci: PR template, linked-issue enforcement, no-claude-trailer check
511
+ - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
512
+ - ci: auto-delete branches after PR merge
513
+ - docs: update Windows installation instructions and prerequisites in README
514
+ - docs: add Windows support and Rust install instructions to README
515
+ - refactor: use session::home_dir() in config and init (Windows compat)
516
+ - ci: trigger promote workflow (test)
517
+ - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
518
+ - docs(readme): add changelog, contribution workflow, and benchmark notes
519
+ - ci(workflow): create/update PR from develop to main on push
520
+ - chore: add .worktrees/ to gitignore
521
+ - chore: add docs/ to gitignore (local design specs)
522
+ - docs: update README for GitHub Copilot CLI support
523
+ - security: fix remaining LOW findings in wrap.rs
524
+ - security: fix 2 follow-up findings from second audit
525
+ - security: fix all 8 findings from security audit
526
+ - ci: build and install binary before running benchmarks
527
+ - chore: add GitHub sponsor button
528
+ - chore: ignore .omc/ directory, remove from tracking
529
+ - chore: update benchmark report (7/7 passing)
530
+ - docs: update README — real benchmarks, Phase 2 config, how it works
531
+ - style: cargo fmt on session.rs and test_session.rs
532
+ - chore: open source files — README, LICENSE, CI/release workflows, install.sh
533
+ - chore: scaffold squeez Rust project
534
+
535
+ ### Fixed
536
+ - fix(fs): stop collapsing ls/find listings to "N modified" count (#151)
537
+ - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146)
538
+ - fix(release): make publish-npm non-blocking; add npm whoami diagnostic
539
+ - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143)
540
+ - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126)
541
+ - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124)
542
+ - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121)
543
+ - fix(claude-code): write hooks under settings.hooks.<event>, not at top level (#119)
544
+ - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115)
545
+ - fix(statusline): show compression % and fix Python heredoc expansion bug
546
+ - plan-mode passthrough + release description body (#95)
547
+ - fix(session-start): health check missed top-level event keys (#92)
548
+ - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86)
549
+ - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81)
550
+ - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83)
551
+ - prevent OOM from unbounded file reads + data integrity fixes
552
+ - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build
553
+ - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79)
554
+ - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78)
555
+ - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72)
556
+ - fix(ci): push release docs directly to main (loop-safe) (#68)
557
+ - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65)
558
+ - fix(ci): startsWith guard for auto-release recursion (#46)
559
+ - fix(ci): tighten auto-release bump detection + fix tag push (#44)
560
+ - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes
561
+ - fix(ci): skip publish gracefully when version already exists on crates.io/npm
562
+ - fix(ci): run update-docs even if publish jobs fail (already published)
563
+ - fix(ci): continue-on-error for publish jobs so update-docs always runs
564
+ - fix(ci): add pull-requests write permission to update-docs job
565
+ - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
566
+ - fix(ci): update-docs creates PR instead of pushing directly to protected main
567
+ - fix(npm): copy README.md into npm package before publish; add readme field
568
+ - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
569
+ - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
570
+ - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
571
+ - fix(ci): fix flaky test tmp dir collision + simplify auto-release
572
+ - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
573
+ - fix(ci): remove secrets in step if-conditions — check token inside script instead
574
+ - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
575
+ - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
576
+ - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
577
+ - fix(statusline): remove Ctx% — show only squeez compression metrics
578
+ - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
579
+ - resolve gap analysis — new handlers, wider redundancy window, token budget
580
+ - install.sh — clarify PostToolUse no-matcher intent, guard version echo
581
+ - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
582
+ - use ends_with for files_committed check in init finalize
583
+ - json_util — guard extract_u64 empty digit, add json_util test coverage
584
+ - add pre-flight binary check to bench/run.sh
585
+ - atomic settings.json write + uninstall safety guards
586
+ - harden pretooluse hook (shlex.quote, error handling, single path source)
587
+ - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
588
+
12
589
  ## [1.29.0] - 2026-06-22
13
590
 
14
591
  ### Added
@@ -7039,7 +7616,7 @@ conventional commit messages on `main`.
7039
7616
  ## [1.5.1] and earlier
7040
7617
  See the [git tag history](https://github.com/claudioemmanuel/squeez/tags) for pre-1.5.2 details. release-please takes over changelog generation from 1.7.1 onwards.
7041
7618
 
7042
- [Unreleased]: https://github.com/claudioemmanuel/squeez/compare/v1.29.0...HEAD
7619
+ [Unreleased]: https://github.com/claudioemmanuel/squeez/compare/v1.31.0...HEAD
7043
7620
  [1.7.0]: https://github.com/claudioemmanuel/squeez/compare/v1.6.1...v1.7.0
7044
7621
  [1.6.1]: https://github.com/claudioemmanuel/squeez/compare/v1.6.0...v1.6.1
7045
7622
  [1.6.0]: https://github.com/claudioemmanuel/squeez/compare/v1.5.2...v1.6.0
@@ -7080,3 +7657,5 @@ See the [git tag history](https://github.com/claudioemmanuel/squeez/tags) for pr
7080
7657
  [1.27.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.27.0
7081
7658
  [1.28.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.28.0
7082
7659
  [1.29.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.29.0
7660
+ [1.30.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.30.0
7661
+ [1.31.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.31.0
package/README.md CHANGED
@@ -180,31 +180,31 @@ Measured on macOS (Apple Silicon). Token count = `chars / 4` (matches Claude's ~
180
180
 
181
181
  | Scenario | Before | After | Reduction | Latency |
182
182
  |----------|--------|-------|-----------|---------|
183
- | `summarize_huge` | 82,257 tk | 445 tk | **-99%** | 57.5 ms |
183
+ | `summarize_huge` | 82,257 tk | 445 tk | **-99%** | 58.2 ms |
184
184
  | `repetitive_output` | 4,692 tk | 37 tk | **-99%** | 227 µs |
185
- | `xcode_build` | 1,881 tk | 17 tk | **-99%** | 62 µs |
186
- | `high_context_adaptive` | 4,418 tk | 61 tk | **-99%** | 969 µs |
187
- | `agent_directory_output` | 3,348 tk | 167 tk | **-95%** | 613 µs |
188
- | `ps_aux` | 40,373 tk | 2,338 tk | **-94%** | 874 µs |
189
- | `git_log_200` | 2,692 tk | 275 tk | **-90%** | 210 µs |
190
- | `tsc_errors` | 731 tk | 101 tk | **-86%** | 22 µs |
191
- | `cargo_build_noisy` | 2,106 tk | 439 tk | **-79%** | 263 µs |
192
- | `docker_logs` | 665 tk | 186 tk | **-72%** | 64 µs |
193
- | `curl_html_response` | 2,181 tk | 626 tk | **-71%** | 46 µs |
185
+ | `xcode_build` | 1,881 tk | 17 tk | **-99%** | 57 µs |
186
+ | `high_context_adaptive` | 4,418 tk | 61 tk | **-99%** | 975 µs |
187
+ | `agent_directory_output` | 3,348 tk | 167 tk | **-95%** | 604 µs |
188
+ | `ps_aux` | 40,373 tk | 2,338 tk | **-94%** | 897 µs |
189
+ | `git_log_200` | 2,692 tk | 275 tk | **-90%** | 206 µs |
190
+ | `tsc_errors` | 731 tk | 101 tk | **-86%** | 24 µs |
191
+ | `cargo_build_noisy` | 2,106 tk | 439 tk | **-79%** | 252 µs |
192
+ | `docker_logs` | 665 tk | 186 tk | **-72%** | 62 µs |
193
+ | `curl_html_response` | 2,181 tk | 626 tk | **-71%** | 45 µs |
194
194
  | `git_status` | 50 tk | 16 tk | **-68%** | 14 µs |
195
- | `pytest_failures` | 3,402 tk | 1,175 tk | **-65%** | 301 µs |
196
- | `verbose_app_log` | 4,957 tk | 1,978 tk | **-60%** | 602 µs |
197
- | `npm_install` | 524 tk | 218 tk | **-58%** | 50 µs |
198
- | `crosscall_redundancy_3x` | 486 tk | 237 tk | **-51%** | 51.7 ms |
199
- | `ls_la` | 1,782 tk | 872 tk | **-51%** | 43 µs |
200
- | `env_dump` | 441 tk | 287 tk | **-35%** | 25 µs |
201
- | `git_copilot` | 640 tk | 421 tk | **-34%** | 99 µs |
202
- | `find_deep` | 424 tk | 279 tk | **-34%** | 23 µs |
203
- | `agent_heavy` | 2,306 tk | 1,565 tk | **-32%** | 654 µs |
204
- | `md_prose` | 187 tk | 138 tk | **-26%** | 850 µs |
205
- | `md_claude_md` | 316 tk | 247 tk | **-22%** | 1.0 ms |
206
- | `claude_md_overhead` | 717 tk | 635 tk | **-11%** | 24 µs |
207
- | `git_diff` | 502 tk | 497 tk | **-1%** | 52 µs |
195
+ | `pytest_failures` | 3,402 tk | 1,175 tk | **-65%** | 306 µs |
196
+ | `verbose_app_log` | 4,957 tk | 1,978 tk | **-60%** | 592 µs |
197
+ | `npm_install` | 524 tk | 218 tk | **-58%** | 47 µs |
198
+ | `crosscall_redundancy_3x` | 486 tk | 237 tk | **-51%** | 51.9 ms |
199
+ | `ls_la` | 1,782 tk | 872 tk | **-51%** | 42 µs |
200
+ | `env_dump` | 441 tk | 287 tk | **-35%** | 24 µs |
201
+ | `git_copilot` | 640 tk | 421 tk | **-34%** | 101 µs |
202
+ | `find_deep` | 424 tk | 279 tk | **-34%** | 24 µs |
203
+ | `agent_heavy` | 2,306 tk | 1,565 tk | **-32%** | 617 µs |
204
+ | `md_prose` | 187 tk | 138 tk | **-26%** | 814 µs |
205
+ | `md_claude_md` | 316 tk | 247 tk | **-22%** | 991 µs |
206
+ | `claude_md_overhead` | 717 tk | 635 tk | **-11%** | 25 µs |
207
+ | `git_diff` | 502 tk | 497 tk | **-1%** | 43 µs |
208
208
  | `jest_failures` | 451 tk | 448 tk | **-1%** | 54 µs |
209
209
  | `state_first_simulation` | 182 tk | 181 tk | **-1%** | 5 µs |
210
210
  | `kubectl_pods` | 1,513 tk | 1,513 tk | **-0%** | 32 µs |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "squeez",
3
- "version": "1.30.0",
3
+ "version": "1.31.1",
4
4
  "description": "Hook-based token compressor for Claude Code, Copilot CLI, and OpenCode. Compresses bash output up to 95%, collapses redundant calls, injects caveman persona.",
5
5
  "keywords": [
6
6
  "claude-code",