squeez 1.19.1 → 1.19.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.
Files changed (3) hide show
  1. package/CHANGELOG.md +464 -1
  2. package/README.md +30 -30
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -9,6 +9,467 @@ conventional commit messages on `main`.
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [1.19.2] - 2026-05-18
13
+
14
+ ### Added
15
+ - feat(economy): auto-curation nudges + cross-session handler stats (#118)
16
+ - feat(hosts): add Pi adapter (#116)
17
+ - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps
18
+ - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios
19
+ - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102)
20
+ - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101)
21
+ - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100)
22
+ - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+)
23
+ - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90)
24
+ - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88)
25
+ - feat(economy): compress Agent/Task prompt at PreToolUse time (#87)
26
+ - feat(handlers): xcodebuild noise filter + log-file tail detection (#84)
27
+ - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74)
28
+ - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70)
29
+ - feat(setup): adapter-driven setup/uninstall across all hosts (#58)
30
+ - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55)
31
+ - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52)
32
+ - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48)
33
+ - wrangler, playwright, next build handlers + bun/drizzle routing (#34)
34
+ - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort
35
+ - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
36
+ - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
37
+ - structured session memory, cross-session search, error snippets, configurable tunables
38
+ - feat(setup): create config.ini on first install
39
+ - feat(i18n): locale-aware compress-md with pt-BR support (#25)
40
+ - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
41
+ - Windows setup via cargo/npm + squeez update fix
42
+ - feat(benchmark): add squeez benchmark command with 19-scenario test suite
43
+ - feat(ci): re-add promote-develop workflow with correct registration
44
+ - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
45
+ - feat(npm+crates): add npm package and publish jobs to release workflow
46
+ - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
47
+ - compress-md, caveman persona, squeez update, track-result hook
48
+ - feat(context): adaptive intensity always picks Ultra
49
+ - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
50
+ - add Windows support to install.sh and release.yml
51
+ - add home_dir() helper with USERPROFILE fallback for Windows
52
+ - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
53
+ - add GitHub Copilot CLI support
54
+ - add OpenCode plugin for automatic Bash compression
55
+ - add universal installer support for macOS and Linux
56
+ - expand benchmarks, edge-case tests, and README polish
57
+ - add SessionStart + PostToolUse hooks, update install.sh and README
58
+ - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
59
+ - squeez init — session start, prior memory banner, session finalization (TDD)
60
+ - squeez track — token accumulation + session event log (TDD)
61
+ - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
62
+ - session.rs — CurrentSession, append_event, date math (TDD)
63
+ - json_util helpers + compact_threshold_tokens, memory_retention_days config
64
+ - benchmark system — all fixtures passing
65
+ - build.sh compiles + installs squeez, registers hook
66
+ - PreToolUse hook script
67
+ - fs and runtime handlers — all handler tests passing
68
+ - cloud, database, network handlers (TDD)
69
+ - typescript and build handlers (TDD)
70
+ - package_mgr and test_runner handlers (TDD)
71
+ - git and docker handlers (TDD)
72
+ - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
73
+ - Handler trait with cmd+config, generic handler, command router, filter_stdin
74
+ - truncation strategy (TDD) — all strategy tests passing
75
+ - grouping strategy (TDD)
76
+ - dedup strategy (TDD)
77
+ - smart_filter strategy with node_modules frame removal (TDD)
78
+ - implement config.ini parser (TDD)
79
+
80
+ ### Changed
81
+ - chore(release): bump version to 1.19.2 [squeez-release-bot]
82
+ - docs: update changelog and benchmarks for v1.19.1
83
+ - chore(release): bump version to 1.19.1 [squeez-release-bot]
84
+ - docs: update changelog and benchmarks for v1.19.0
85
+ - chore(release): bump version to 1.19.0 [squeez-release-bot]
86
+ - docs: update changelog and benchmarks for v1.18.1
87
+ - chore(release): bump version to 1.18.1 [squeez-release-bot]
88
+ - docs: update changelog and benchmarks for v1.18.0
89
+ - chore(release): bump version to 1.18.0 [squeez-release-bot]
90
+ - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111)
91
+ - docs: update changelog and benchmarks for v1.17.0
92
+ - chore(release): bump version to 1.17.0 [squeez-release-bot]
93
+ - docs: update changelog and benchmarks for v1.16.0
94
+ - chore(release): bump version to 1.16.0 [squeez-release-bot]
95
+ - docs: update changelog and benchmarks for v1.15.1
96
+ - chore(release): bump version to 1.15.1 [squeez-release-bot]
97
+ - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108)
98
+ - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106)
99
+ - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103)
100
+ - docs: update changelog and benchmarks for v1.15.0
101
+ - chore(release): bump version to 1.15.0 [squeez-release-bot]
102
+ - docs: update changelog and benchmarks for v1.13.0
103
+ - chore(release): bump version to 1.14.0 [squeez-release-bot]
104
+ - chore(release): bump version to 1.13.0 [squeez-release-bot]
105
+ - docs: update changelog and benchmarks for v1.12.0
106
+ - chore(release): bump version to 1.12.0 [squeez-release-bot]
107
+ - docs(codex): update adapter comments and README for 0.123.0 hook surface
108
+ - docs: update changelog and benchmarks for v1.11.2
109
+ - chore(release): bump version to 1.11.2 [squeez-release-bot]
110
+ - docs: update changelog and benchmarks for v1.11.1
111
+ - chore(release): bump version to 1.11.1 [squeez-release-bot]
112
+ - docs: update changelog and benchmarks for v1.11.0
113
+ - chore(release): bump version to 1.11.0 [squeez-release-bot]
114
+ - docs: update changelog and benchmarks for v1.10.0
115
+ - docs: update changelog and benchmarks for v1.9.0
116
+ - chore(release): bump version to 1.10.0 [squeez-release-bot]
117
+ - docs(readme): document squeez's compression scope and architectural limits (#85)
118
+ - chore(release): bump version to 1.9.0 [squeez-release-bot]
119
+ - chore(release): bump version to 1.8.0 [squeez-release-bot]
120
+ - docs: update changelog and benchmarks for v1.7.7
121
+ - chore(release): bump version to 1.7.7 [squeez-release-bot]
122
+ - docs: update changelog and benchmarks for v1.7.6
123
+ - chore(release): bump version to 1.7.6 [squeez-release-bot]
124
+ - docs: update changelog and benchmarks for v1.7.5
125
+ - chore(release): bump version to 1.7.5 [squeez-release-bot]
126
+ - docs: update changelog and benchmarks for v1.7.4
127
+ - chore(release): bump version to 1.7.4 [squeez-release-bot]
128
+ - perf: O(log n) refactor — tail read, offset index, single-pass parser
129
+ - docs: update changelog and benchmarks for v1.7.3
130
+ - chore(release): bump version to 1.7.3 [squeez-release-bot]
131
+ - chore(release): bump version to 1.7.2 [squeez-release-bot]
132
+ - restore: revert accidental deletion of auto-release.yml workflow
133
+ - docs: update changelog and benchmarks for v1.7.1
134
+ - chore(release): bump version to 1.7.1 [squeez-release-bot]
135
+ - chore: relicense to Apache 2.0 + add DCO policy + banner (#76)
136
+ - docs: update changelog and benchmarks for v1.7.0
137
+ - chore(release): bump version to 1.7.0 [squeez-release-bot]
138
+ - docs: update changelog and benchmarks for v1.6.1
139
+ - chore(release): bump version to 1.6.1 [squeez-release-bot]
140
+ - docs: update changelog and benchmarks for v1.6.0
141
+ - chore(release): bump version to 1.6.0 [squeez-release-bot]
142
+ - docs: update changelog and benchmarks for v1.5.2
143
+ - chore(release): bump version to 1.5.2 [squeez-release-bot]
144
+ - chore(release): bump version to 1.5.1 [squeez-release-bot]
145
+ - docs: five-host matrix + squeez setup/uninstall flow (#63)
146
+ - refactor(install): delegate host registration to 'squeez setup' (#60)
147
+ - chore(release): bump version to 1.5.0 [squeez-release-bot]
148
+ - chore(release): bump version to 1.4.0 [squeez-release-bot]
149
+ - chore(release): bump version to 1.3.0 [squeez-release-bot]
150
+ - chore(release): bump version to 1.2.0 [squeez-release-bot]
151
+ - chore(release): bump version to 1.1.0 [squeez-release-bot]
152
+ - chore(release): bump version to 1.0.0 [skip release]
153
+ - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42)
154
+ - ci: conventional-commit-driven auto-release (#40)
155
+ - chore(gov): issue-form templates + refined PR template (#39)
156
+ - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33)
157
+ - chore(release): bump version to 0.4.1
158
+ - chore(release): bump version to 0.4.0
159
+ - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30)
160
+ - chore: bump version to 0.3.2
161
+ - docs: add shields.io badge for changelog link
162
+ - chore: bump version to 0.3.1
163
+ - chore: bump version to 0.2.3
164
+ - docs: update README with 11 MCP tools, structured memory, and advanced tunables
165
+ - chore: bump version to 0.2.2
166
+ - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
167
+ - chore: refresh bench/report.md from latest run [skip release]
168
+ - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
169
+ - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
170
+ - chore: bump version to 0.2.0; add Cargo.toml metadata
171
+ - ci: PR template, linked-issue enforcement, no-claude-trailer check
172
+ - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
173
+ - ci: auto-delete branches after PR merge
174
+ - docs: update Windows installation instructions and prerequisites in README
175
+ - docs: add Windows support and Rust install instructions to README
176
+ - refactor: use session::home_dir() in config and init (Windows compat)
177
+ - ci: trigger promote workflow (test)
178
+ - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
179
+ - docs(readme): add changelog, contribution workflow, and benchmark notes
180
+ - ci(workflow): create/update PR from develop to main on push
181
+ - chore: add .worktrees/ to gitignore
182
+ - chore: add docs/ to gitignore (local design specs)
183
+ - docs: update README for GitHub Copilot CLI support
184
+ - security: fix remaining LOW findings in wrap.rs
185
+ - security: fix 2 follow-up findings from second audit
186
+ - security: fix all 8 findings from security audit
187
+ - ci: build and install binary before running benchmarks
188
+ - chore: add GitHub sponsor button
189
+ - chore: ignore .omc/ directory, remove from tracking
190
+ - chore: update benchmark report (7/7 passing)
191
+ - docs: update README — real benchmarks, Phase 2 config, how it works
192
+ - style: cargo fmt on session.rs and test_session.rs
193
+ - chore: open source files — README, LICENSE, CI/release workflows, install.sh
194
+ - chore: scaffold squeez Rust project
195
+
196
+ ### Fixed
197
+ - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121)
198
+ - fix(claude-code): write hooks under settings.hooks.<event>, not at top level (#119)
199
+ - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115)
200
+ - fix(statusline): show compression % and fix Python heredoc expansion bug
201
+ - plan-mode passthrough + release description body (#95)
202
+ - fix(session-start): health check missed top-level event keys (#92)
203
+ - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86)
204
+ - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81)
205
+ - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83)
206
+ - prevent OOM from unbounded file reads + data integrity fixes
207
+ - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build
208
+ - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79)
209
+ - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78)
210
+ - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72)
211
+ - fix(ci): push release docs directly to main (loop-safe) (#68)
212
+ - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65)
213
+ - fix(ci): startsWith guard for auto-release recursion (#46)
214
+ - fix(ci): tighten auto-release bump detection + fix tag push (#44)
215
+ - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes
216
+ - fix(ci): skip publish gracefully when version already exists on crates.io/npm
217
+ - fix(ci): run update-docs even if publish jobs fail (already published)
218
+ - fix(ci): continue-on-error for publish jobs so update-docs always runs
219
+ - fix(ci): add pull-requests write permission to update-docs job
220
+ - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
221
+ - fix(ci): update-docs creates PR instead of pushing directly to protected main
222
+ - fix(npm): copy README.md into npm package before publish; add readme field
223
+ - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
224
+ - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
225
+ - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
226
+ - fix(ci): fix flaky test tmp dir collision + simplify auto-release
227
+ - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
228
+ - fix(ci): remove secrets in step if-conditions — check token inside script instead
229
+ - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
230
+ - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
231
+ - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
232
+ - fix(statusline): remove Ctx% — show only squeez compression metrics
233
+ - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
234
+ - resolve gap analysis — new handlers, wider redundancy window, token budget
235
+ - install.sh — clarify PostToolUse no-matcher intent, guard version echo
236
+ - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
237
+ - use ends_with for files_committed check in init finalize
238
+ - json_util — guard extract_u64 empty digit, add json_util test coverage
239
+ - add pre-flight binary check to bench/run.sh
240
+ - atomic settings.json write + uninstall safety guards
241
+ - harden pretooluse hook (shlex.quote, error handling, single path source)
242
+ - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
243
+
244
+ ## [1.19.1] - 2026-05-18
245
+
246
+ ### Added
247
+ - feat(economy): auto-curation nudges + cross-session handler stats (#118)
248
+ - feat(hosts): add Pi adapter (#116)
249
+ - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps
250
+ - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios
251
+ - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102)
252
+ - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101)
253
+ - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100)
254
+ - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+)
255
+ - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90)
256
+ - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88)
257
+ - feat(economy): compress Agent/Task prompt at PreToolUse time (#87)
258
+ - feat(handlers): xcodebuild noise filter + log-file tail detection (#84)
259
+ - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74)
260
+ - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70)
261
+ - feat(setup): adapter-driven setup/uninstall across all hosts (#58)
262
+ - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55)
263
+ - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52)
264
+ - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48)
265
+ - wrangler, playwright, next build handlers + bun/drizzle routing (#34)
266
+ - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort
267
+ - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
268
+ - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
269
+ - structured session memory, cross-session search, error snippets, configurable tunables
270
+ - feat(setup): create config.ini on first install
271
+ - feat(i18n): locale-aware compress-md with pt-BR support (#25)
272
+ - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
273
+ - Windows setup via cargo/npm + squeez update fix
274
+ - feat(benchmark): add squeez benchmark command with 19-scenario test suite
275
+ - feat(ci): re-add promote-develop workflow with correct registration
276
+ - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
277
+ - feat(npm+crates): add npm package and publish jobs to release workflow
278
+ - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
279
+ - compress-md, caveman persona, squeez update, track-result hook
280
+ - feat(context): adaptive intensity always picks Ultra
281
+ - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
282
+ - add Windows support to install.sh and release.yml
283
+ - add home_dir() helper with USERPROFILE fallback for Windows
284
+ - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
285
+ - add GitHub Copilot CLI support
286
+ - add OpenCode plugin for automatic Bash compression
287
+ - add universal installer support for macOS and Linux
288
+ - expand benchmarks, edge-case tests, and README polish
289
+ - add SessionStart + PostToolUse hooks, update install.sh and README
290
+ - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
291
+ - squeez init — session start, prior memory banner, session finalization (TDD)
292
+ - squeez track — token accumulation + session event log (TDD)
293
+ - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
294
+ - session.rs — CurrentSession, append_event, date math (TDD)
295
+ - json_util helpers + compact_threshold_tokens, memory_retention_days config
296
+ - benchmark system — all fixtures passing
297
+ - build.sh compiles + installs squeez, registers hook
298
+ - PreToolUse hook script
299
+ - fs and runtime handlers — all handler tests passing
300
+ - cloud, database, network handlers (TDD)
301
+ - typescript and build handlers (TDD)
302
+ - package_mgr and test_runner handlers (TDD)
303
+ - git and docker handlers (TDD)
304
+ - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
305
+ - Handler trait with cmd+config, generic handler, command router, filter_stdin
306
+ - truncation strategy (TDD) — all strategy tests passing
307
+ - grouping strategy (TDD)
308
+ - dedup strategy (TDD)
309
+ - smart_filter strategy with node_modules frame removal (TDD)
310
+ - implement config.ini parser (TDD)
311
+
312
+ ### Changed
313
+ - chore(release): bump version to 1.19.1 [squeez-release-bot]
314
+ - docs: update changelog and benchmarks for v1.19.0
315
+ - chore(release): bump version to 1.19.0 [squeez-release-bot]
316
+ - docs: update changelog and benchmarks for v1.18.1
317
+ - chore(release): bump version to 1.18.1 [squeez-release-bot]
318
+ - docs: update changelog and benchmarks for v1.18.0
319
+ - chore(release): bump version to 1.18.0 [squeez-release-bot]
320
+ - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111)
321
+ - docs: update changelog and benchmarks for v1.17.0
322
+ - chore(release): bump version to 1.17.0 [squeez-release-bot]
323
+ - docs: update changelog and benchmarks for v1.16.0
324
+ - chore(release): bump version to 1.16.0 [squeez-release-bot]
325
+ - docs: update changelog and benchmarks for v1.15.1
326
+ - chore(release): bump version to 1.15.1 [squeez-release-bot]
327
+ - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108)
328
+ - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106)
329
+ - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103)
330
+ - docs: update changelog and benchmarks for v1.15.0
331
+ - chore(release): bump version to 1.15.0 [squeez-release-bot]
332
+ - docs: update changelog and benchmarks for v1.13.0
333
+ - chore(release): bump version to 1.14.0 [squeez-release-bot]
334
+ - chore(release): bump version to 1.13.0 [squeez-release-bot]
335
+ - docs: update changelog and benchmarks for v1.12.0
336
+ - chore(release): bump version to 1.12.0 [squeez-release-bot]
337
+ - docs(codex): update adapter comments and README for 0.123.0 hook surface
338
+ - docs: update changelog and benchmarks for v1.11.2
339
+ - chore(release): bump version to 1.11.2 [squeez-release-bot]
340
+ - docs: update changelog and benchmarks for v1.11.1
341
+ - chore(release): bump version to 1.11.1 [squeez-release-bot]
342
+ - docs: update changelog and benchmarks for v1.11.0
343
+ - chore(release): bump version to 1.11.0 [squeez-release-bot]
344
+ - docs: update changelog and benchmarks for v1.10.0
345
+ - docs: update changelog and benchmarks for v1.9.0
346
+ - chore(release): bump version to 1.10.0 [squeez-release-bot]
347
+ - docs(readme): document squeez's compression scope and architectural limits (#85)
348
+ - chore(release): bump version to 1.9.0 [squeez-release-bot]
349
+ - chore(release): bump version to 1.8.0 [squeez-release-bot]
350
+ - docs: update changelog and benchmarks for v1.7.7
351
+ - chore(release): bump version to 1.7.7 [squeez-release-bot]
352
+ - docs: update changelog and benchmarks for v1.7.6
353
+ - chore(release): bump version to 1.7.6 [squeez-release-bot]
354
+ - docs: update changelog and benchmarks for v1.7.5
355
+ - chore(release): bump version to 1.7.5 [squeez-release-bot]
356
+ - docs: update changelog and benchmarks for v1.7.4
357
+ - chore(release): bump version to 1.7.4 [squeez-release-bot]
358
+ - perf: O(log n) refactor — tail read, offset index, single-pass parser
359
+ - docs: update changelog and benchmarks for v1.7.3
360
+ - chore(release): bump version to 1.7.3 [squeez-release-bot]
361
+ - chore(release): bump version to 1.7.2 [squeez-release-bot]
362
+ - restore: revert accidental deletion of auto-release.yml workflow
363
+ - docs: update changelog and benchmarks for v1.7.1
364
+ - chore(release): bump version to 1.7.1 [squeez-release-bot]
365
+ - chore: relicense to Apache 2.0 + add DCO policy + banner (#76)
366
+ - docs: update changelog and benchmarks for v1.7.0
367
+ - chore(release): bump version to 1.7.0 [squeez-release-bot]
368
+ - docs: update changelog and benchmarks for v1.6.1
369
+ - chore(release): bump version to 1.6.1 [squeez-release-bot]
370
+ - docs: update changelog and benchmarks for v1.6.0
371
+ - chore(release): bump version to 1.6.0 [squeez-release-bot]
372
+ - docs: update changelog and benchmarks for v1.5.2
373
+ - chore(release): bump version to 1.5.2 [squeez-release-bot]
374
+ - chore(release): bump version to 1.5.1 [squeez-release-bot]
375
+ - docs: five-host matrix + squeez setup/uninstall flow (#63)
376
+ - refactor(install): delegate host registration to 'squeez setup' (#60)
377
+ - chore(release): bump version to 1.5.0 [squeez-release-bot]
378
+ - chore(release): bump version to 1.4.0 [squeez-release-bot]
379
+ - chore(release): bump version to 1.3.0 [squeez-release-bot]
380
+ - chore(release): bump version to 1.2.0 [squeez-release-bot]
381
+ - chore(release): bump version to 1.1.0 [squeez-release-bot]
382
+ - chore(release): bump version to 1.0.0 [skip release]
383
+ - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42)
384
+ - ci: conventional-commit-driven auto-release (#40)
385
+ - chore(gov): issue-form templates + refined PR template (#39)
386
+ - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33)
387
+ - chore(release): bump version to 0.4.1
388
+ - chore(release): bump version to 0.4.0
389
+ - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30)
390
+ - chore: bump version to 0.3.2
391
+ - docs: add shields.io badge for changelog link
392
+ - chore: bump version to 0.3.1
393
+ - chore: bump version to 0.2.3
394
+ - docs: update README with 11 MCP tools, structured memory, and advanced tunables
395
+ - chore: bump version to 0.2.2
396
+ - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
397
+ - chore: refresh bench/report.md from latest run [skip release]
398
+ - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
399
+ - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
400
+ - chore: bump version to 0.2.0; add Cargo.toml metadata
401
+ - ci: PR template, linked-issue enforcement, no-claude-trailer check
402
+ - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
403
+ - ci: auto-delete branches after PR merge
404
+ - docs: update Windows installation instructions and prerequisites in README
405
+ - docs: add Windows support and Rust install instructions to README
406
+ - refactor: use session::home_dir() in config and init (Windows compat)
407
+ - ci: trigger promote workflow (test)
408
+ - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
409
+ - docs(readme): add changelog, contribution workflow, and benchmark notes
410
+ - ci(workflow): create/update PR from develop to main on push
411
+ - chore: add .worktrees/ to gitignore
412
+ - chore: add docs/ to gitignore (local design specs)
413
+ - docs: update README for GitHub Copilot CLI support
414
+ - security: fix remaining LOW findings in wrap.rs
415
+ - security: fix 2 follow-up findings from second audit
416
+ - security: fix all 8 findings from security audit
417
+ - ci: build and install binary before running benchmarks
418
+ - chore: add GitHub sponsor button
419
+ - chore: ignore .omc/ directory, remove from tracking
420
+ - chore: update benchmark report (7/7 passing)
421
+ - docs: update README — real benchmarks, Phase 2 config, how it works
422
+ - style: cargo fmt on session.rs and test_session.rs
423
+ - chore: open source files — README, LICENSE, CI/release workflows, install.sh
424
+ - chore: scaffold squeez Rust project
425
+
426
+ ### Fixed
427
+ - fix(claude-code): write hooks under settings.hooks.<event>, not at top level (#119)
428
+ - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115)
429
+ - fix(statusline): show compression % and fix Python heredoc expansion bug
430
+ - plan-mode passthrough + release description body (#95)
431
+ - fix(session-start): health check missed top-level event keys (#92)
432
+ - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86)
433
+ - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81)
434
+ - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83)
435
+ - prevent OOM from unbounded file reads + data integrity fixes
436
+ - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build
437
+ - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79)
438
+ - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78)
439
+ - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72)
440
+ - fix(ci): push release docs directly to main (loop-safe) (#68)
441
+ - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65)
442
+ - fix(ci): startsWith guard for auto-release recursion (#46)
443
+ - fix(ci): tighten auto-release bump detection + fix tag push (#44)
444
+ - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes
445
+ - fix(ci): skip publish gracefully when version already exists on crates.io/npm
446
+ - fix(ci): run update-docs even if publish jobs fail (already published)
447
+ - fix(ci): continue-on-error for publish jobs so update-docs always runs
448
+ - fix(ci): add pull-requests write permission to update-docs job
449
+ - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
450
+ - fix(ci): update-docs creates PR instead of pushing directly to protected main
451
+ - fix(npm): copy README.md into npm package before publish; add readme field
452
+ - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
453
+ - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
454
+ - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
455
+ - fix(ci): fix flaky test tmp dir collision + simplify auto-release
456
+ - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
457
+ - fix(ci): remove secrets in step if-conditions — check token inside script instead
458
+ - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
459
+ - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
460
+ - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
461
+ - fix(statusline): remove Ctx% — show only squeez compression metrics
462
+ - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
463
+ - resolve gap analysis — new handlers, wider redundancy window, token budget
464
+ - install.sh — clarify PostToolUse no-matcher intent, guard version echo
465
+ - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
466
+ - use ends_with for files_committed check in init finalize
467
+ - json_util — guard extract_u64 empty digit, add json_util test coverage
468
+ - add pre-flight binary check to bench/run.sh
469
+ - atomic settings.json write + uninstall safety guards
470
+ - harden pretooluse hook (shlex.quote, error handling, single path source)
471
+ - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
472
+
12
473
  ## [1.19.0] - 2026-05-17
13
474
 
14
475
  ### Added
@@ -2408,7 +2869,7 @@ conventional commit messages on `main`.
2408
2869
  ## [1.5.1] and earlier
2409
2870
  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.
2410
2871
 
2411
- [Unreleased]: https://github.com/claudioemmanuel/squeez/compare/v1.19.0...HEAD
2872
+ [Unreleased]: https://github.com/claudioemmanuel/squeez/compare/v1.19.2...HEAD
2412
2873
  [1.7.0]: https://github.com/claudioemmanuel/squeez/compare/v1.6.1...v1.7.0
2413
2874
  [1.6.1]: https://github.com/claudioemmanuel/squeez/compare/v1.6.0...v1.6.1
2414
2875
  [1.6.0]: https://github.com/claudioemmanuel/squeez/compare/v1.5.2...v1.6.0
@@ -2432,3 +2893,5 @@ See the [git tag history](https://github.com/claudioemmanuel/squeez/tags) for pr
2432
2893
  [1.18.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.18.0
2433
2894
  [1.18.1]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.18.1
2434
2895
  [1.19.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.19.0
2896
+ [1.19.1]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.19.1
2897
+ [1.19.2]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.19.2
package/README.md CHANGED
@@ -162,41 +162,41 @@ Measured on macOS (Apple Silicon). Token count = `chars / 4` (matches Claude's ~
162
162
 
163
163
  | Scenario | Before | After | Reduction | Latency |
164
164
  |----------|--------|-------|-----------|---------|
165
- | `summarize_huge` | 82,257 tk | 420 tk | **-99%** | 55.7 ms |
166
- | `repetitive_output` | 4,692 tk | 37 tk | **-99%** | 199 µs |
167
- | `xcode_build` | 1,881 tk | 17 tk | **-99%** | 69 µs |
168
- | `high_context_adaptive` | 4,418 tk | 52 tk | **-99%** | 812 µs |
169
- | `agent_directory_output` | 3,348 tk | 167 tk | **-95%** | 325 µs |
170
- | `ps_aux` | 40,373 tk | 2,352 tk | **-94%** | 2.7 ms |
171
- | `git_log_200` | 2,692 tk | 289 tk | **-89%** | 214 µs |
172
- | `tsc_errors` | 731 tk | 101 tk | **-86%** | 21 µs |
173
- | `cargo_build_noisy` | 2,106 tk | 452 tk | **-79%** | 251 µs |
174
- | `docker_logs` | 665 tk | 186 tk | **-72%** | 53 µs |
175
- | `curl_html_response` | 2,181 tk | 626 tk | **-71%** | 41 µs |
176
- | `find_deep` | 424 tk | 134 tk | **-68%** | 73 µs |
177
- | `git_status` | 50 tk | 16 tk | **-68%** | 14 µs |
178
- | `pytest_failures` | 3,402 tk | 1,189 tk | **-65%** | 312 µs |
179
- | `verbose_app_log` | 4,957 tk | 1,991 tk | **-60%** | 285 µs |
180
- | `npm_install` | 524 tk | 232 tk | **-56%** | 46 µs |
181
- | `crosscall_redundancy_3x` | 486 tk | 241 tk | **-50%** | 51.7 ms |
182
- | `ls_la` | 1,782 tk | 886 tk | **-50%** | 203 µs |
183
- | `env_dump` | 441 tk | 287 tk | **-35%** | 24 µs |
165
+ | `summarize_huge` | 82,257 tk | 420 tk | **-99%** | 55.6 ms |
166
+ | `repetitive_output` | 4,692 tk | 37 tk | **-99%** | 213 µs |
167
+ | `xcode_build` | 1,881 tk | 17 tk | **-99%** | 75 µs |
168
+ | `high_context_adaptive` | 4,418 tk | 52 tk | **-99%** | 805 µs |
169
+ | `agent_directory_output` | 3,348 tk | 167 tk | **-95%** | 336 µs |
170
+ | `ps_aux` | 40,373 tk | 2,338 tk | **-94%** | 2.8 ms |
171
+ | `git_log_200` | 2,692 tk | 275 tk | **-90%** | 213 µs |
172
+ | `tsc_errors` | 731 tk | 101 tk | **-86%** | 23 µs |
173
+ | `cargo_build_noisy` | 2,106 tk | 439 tk | **-79%** | 256 µs |
174
+ | `docker_logs` | 665 tk | 186 tk | **-72%** | 50 µs |
175
+ | `curl_html_response` | 2,181 tk | 626 tk | **-71%** | 46 µs |
176
+ | `find_deep` | 424 tk | 134 tk | **-68%** | 150 µs |
177
+ | `git_status` | 50 tk | 16 tk | **-68%** | 16 µs |
178
+ | `pytest_failures` | 3,402 tk | 1,175 tk | **-65%** | 313 µs |
179
+ | `verbose_app_log` | 4,957 tk | 1,978 tk | **-60%** | 295 µs |
180
+ | `npm_install` | 524 tk | 218 tk | **-58%** | 48 µs |
181
+ | `crosscall_redundancy_3x` | 486 tk | 237 tk | **-51%** | 51.6 ms |
182
+ | `ls_la` | 1,782 tk | 872 tk | **-51%** | 212 µs |
183
+ | `env_dump` | 441 tk | 287 tk | **-35%** | 25 µs |
184
184
  | `git_copilot` | 640 tk | 421 tk | **-34%** | 117 µs |
185
- | `agent_heavy` | 2,306 tk | 1,564 tk | **-32%** | 318 µs |
186
- | `md_prose` | 187 tk | 138 tk | **-26%** | 896 µs |
185
+ | `agent_heavy` | 2,306 tk | 1,551 tk | **-33%** | 327 µs |
186
+ | `md_prose` | 187 tk | 138 tk | **-26%** | 835 µs |
187
187
  | `md_claude_md` | 316 tk | 247 tk | **-22%** | 1.3 ms |
188
- | `claude_md_overhead` | 717 tk | 649 tk | **-9%** | 22 µs |
189
- | `git_diff` | 502 tk | 497 tk | **-1%** | 42 µs |
190
- | `jest_failures` | 451 tk | 448 tk | **-1%** | 52 µs |
188
+ | `claude_md_overhead` | 717 tk | 635 tk | **-11%** | 25 µs |
189
+ | `git_diff` | 502 tk | 497 tk | **-1%** | 44 µs |
190
+ | `jest_failures` | 451 tk | 448 tk | **-1%** | 54 µs |
191
191
  | `state_first_simulation` | 182 tk | 181 tk | **-1%** | 5 µs |
192
- | `kubectl_pods` | 1,513 tk | 1,513 tk | **-0%** | 30 µs |
192
+ | `kubectl_pods` | 1,513 tk | 1,513 tk | **-0%** | 33 µs |
193
193
 
194
194
  ### Aggregate
195
195
 
196
196
  | Metric | Value |
197
197
  |--------|-------|
198
- | **Total token reduction** | **90.7%** — 164,224 tk → 15,333 tk |
199
- | Bash output | **-83.9%** |
198
+ | **Total token reduction** | **90.7%** — 164,224 tk → 15,206 tk |
199
+ | Bash output | **-84.0%** |
200
200
  | Markdown / context files | **-23.5%** |
201
201
  | Wrap / cross-call engine | **-99.2%** |
202
202
  | Quality (signal terms preserved) | **28 / 28 pass** |
@@ -207,9 +207,9 @@ Measured on macOS (Apple Silicon). Token count = `chars / 4` (matches Claude's ~
207
207
 
208
208
  | Usage | Baseline / month | Saved / month |
209
209
  |-------|-----------------|---------------|
210
- | 100 calls / day | $18.00 | **$16.32 (91%)** |
211
- | 1,000 calls / day | $180.00 | **$163.19 (91%)** |
212
- | 10,000 calls / day | $1800.00 | **$1631.88 (91%)** |
210
+ | 100 calls / day | $18.00 | **$16.33 (91%)** |
211
+ | 1,000 calls / day | $180.00 | **$163.33 (91%)** |
212
+ | 10,000 calls / day | $1800.00 | **$1633.32 (91%)** |
213
213
  <!-- BENCHMARK:END -->
214
214
 
215
215
  ---
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "squeez",
3
- "version": "1.19.1",
3
+ "version": "1.19.3",
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",