squeez 1.18.0 → 1.19.0

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