squeez 1.11.0 → 1.11.2

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