squeez 1.7.1 → 1.7.4

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 +26 -928
  2. package/README.md +23 -23
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,946 +1,44 @@
1
1
  # Changelog
2
2
 
3
- All notable changes to squeez are documented here.
3
+ All notable changes to this project are documented here. The format follows
4
+ [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project
5
+ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
4
6
 
5
- Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
- This project uses [Semantic Versioning](https://semver.org/).
7
+ Future entries are maintained automatically by release-please from
8
+ conventional commit messages on `main`.
7
9
 
8
10
  ## [Unreleased]
9
11
 
10
- ## [1.7.0] - 2026-04-19
11
-
12
- ### Added
13
- - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74)
14
- - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70)
15
- - feat(setup): adapter-driven setup/uninstall across all hosts (#58)
16
- - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55)
17
- - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52)
18
- - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48)
19
- - wrangler, playwright, next build handlers + bun/drizzle routing (#34)
20
- - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort
21
- - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
22
- - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
23
- - structured session memory, cross-session search, error snippets, configurable tunables
24
- - feat(setup): create config.ini on first install
25
- - feat(i18n): locale-aware compress-md with pt-BR support (#25)
26
- - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
27
- - Windows setup via cargo/npm + squeez update fix
28
- - feat(benchmark): add squeez benchmark command with 19-scenario test suite
29
- - feat(ci): re-add promote-develop workflow with correct registration
30
- - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
31
- - feat(npm+crates): add npm package and publish jobs to release workflow
32
- - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
33
- - compress-md, caveman persona, squeez update, track-result hook
34
- - feat(context): adaptive intensity always picks Ultra
35
- - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
36
- - add Windows support to install.sh and release.yml
37
- - add home_dir() helper with USERPROFILE fallback for Windows
38
- - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
39
- - add GitHub Copilot CLI support
40
- - add OpenCode plugin for automatic Bash compression
41
- - add universal installer support for macOS and Linux
42
- - expand benchmarks, edge-case tests, and README polish
43
- - add SessionStart + PostToolUse hooks, update install.sh and README
44
- - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
45
- - squeez init — session start, prior memory banner, session finalization (TDD)
46
- - squeez track — token accumulation + session event log (TDD)
47
- - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
48
- - session.rs — CurrentSession, append_event, date math (TDD)
49
- - json_util helpers + compact_threshold_tokens, memory_retention_days config
50
- - benchmark system — all fixtures passing
51
- - build.sh compiles + installs squeez, registers hook
52
- - PreToolUse hook script
53
- - fs and runtime handlers — all handler tests passing
54
- - cloud, database, network handlers (TDD)
55
- - typescript and build handlers (TDD)
56
- - package_mgr and test_runner handlers (TDD)
57
- - git and docker handlers (TDD)
58
- - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
59
- - Handler trait with cmd+config, generic handler, command router, filter_stdin
60
- - truncation strategy (TDD) — all strategy tests passing
61
- - grouping strategy (TDD)
62
- - dedup strategy (TDD)
63
- - smart_filter strategy with node_modules frame removal (TDD)
64
- - implement config.ini parser (TDD)
65
-
66
- ### Changed
67
- - chore(release): bump version to 1.7.0 [squeez-release-bot]
68
- - docs: update changelog and benchmarks for v1.6.1
69
- - chore(release): bump version to 1.6.1 [squeez-release-bot]
70
- - docs: update changelog and benchmarks for v1.6.0
71
- - chore(release): bump version to 1.6.0 [squeez-release-bot]
72
- - docs: update changelog and benchmarks for v1.5.2
73
- - chore(release): bump version to 1.5.2 [squeez-release-bot]
74
- - chore(release): bump version to 1.5.1 [squeez-release-bot]
75
- - docs: five-host matrix + squeez setup/uninstall flow (#63)
76
- - refactor(install): delegate host registration to 'squeez setup' (#60)
77
- - chore(release): bump version to 1.5.0 [squeez-release-bot]
78
- - chore(release): bump version to 1.4.0 [squeez-release-bot]
79
- - chore(release): bump version to 1.3.0 [squeez-release-bot]
80
- - chore(release): bump version to 1.2.0 [squeez-release-bot]
81
- - chore(release): bump version to 1.1.0 [squeez-release-bot]
82
- - chore(release): bump version to 1.0.0 [skip release]
83
- - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42)
84
- - ci: conventional-commit-driven auto-release (#40)
85
- - chore(gov): issue-form templates + refined PR template (#39)
86
- - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33)
87
- - chore(release): bump version to 0.4.1
88
- - chore(release): bump version to 0.4.0
89
- - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30)
90
- - chore: bump version to 0.3.2
91
- - docs: add shields.io badge for changelog link
92
- - chore: bump version to 0.3.1
93
- - chore: bump version to 0.2.3
94
- - docs: update README with 11 MCP tools, structured memory, and advanced tunables
95
- - chore: bump version to 0.2.2
96
- - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
97
- - chore: refresh bench/report.md from latest run [skip release]
98
- - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
99
- - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
100
- - chore: bump version to 0.2.0; add Cargo.toml metadata
101
- - ci: PR template, linked-issue enforcement, no-claude-trailer check
102
- - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
103
- - ci: auto-delete branches after PR merge
104
- - docs: update Windows installation instructions and prerequisites in README
105
- - docs: add Windows support and Rust install instructions to README
106
- - refactor: use session::home_dir() in config and init (Windows compat)
107
- - ci: trigger promote workflow (test)
108
- - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
109
- - docs(readme): add changelog, contribution workflow, and benchmark notes
110
- - ci(workflow): create/update PR from develop to main on push
111
- - chore: add .worktrees/ to gitignore
112
- - chore: add docs/ to gitignore (local design specs)
113
- - docs: update README for GitHub Copilot CLI support
114
- - security: fix remaining LOW findings in wrap.rs
115
- - security: fix 2 follow-up findings from second audit
116
- - security: fix all 8 findings from security audit
117
- - ci: build and install binary before running benchmarks
118
- - chore: add GitHub sponsor button
119
- - chore: ignore .omc/ directory, remove from tracking
120
- - chore: update benchmark report (7/7 passing)
121
- - docs: update README — real benchmarks, Phase 2 config, how it works
122
- - style: cargo fmt on session.rs and test_session.rs
123
- - chore: open source files — README, LICENSE, CI/release workflows, install.sh
124
- - chore: scaffold squeez Rust project
125
-
126
- ### Fixed
127
- - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72)
128
- - fix(ci): push release docs directly to main (loop-safe) (#68)
129
- - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65)
130
- - fix(ci): startsWith guard for auto-release recursion (#46)
131
- - fix(ci): tighten auto-release bump detection + fix tag push (#44)
132
- - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes
133
- - fix(ci): skip publish gracefully when version already exists on crates.io/npm
134
- - fix(ci): run update-docs even if publish jobs fail (already published)
135
- - fix(ci): continue-on-error for publish jobs so update-docs always runs
136
- - fix(ci): add pull-requests write permission to update-docs job
137
- - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
138
- - fix(ci): update-docs creates PR instead of pushing directly to protected main
139
- - fix(npm): copy README.md into npm package before publish; add readme field
140
- - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
141
- - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
142
- - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
143
- - fix(ci): fix flaky test tmp dir collision + simplify auto-release
144
- - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
145
- - fix(ci): remove secrets in step if-conditions — check token inside script instead
146
- - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
147
- - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
148
- - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
149
- - fix(statusline): remove Ctx% — show only squeez compression metrics
150
- - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
151
- - resolve gap analysis — new handlers, wider redundancy window, token budget
152
- - install.sh — clarify PostToolUse no-matcher intent, guard version echo
153
- - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
154
- - use ends_with for files_committed check in init finalize
155
- - json_util — guard extract_u64 empty digit, add json_util test coverage
156
- - add pre-flight binary check to bench/run.sh
157
- - atomic settings.json write + uninstall safety guards
158
- - harden pretooluse hook (shlex.quote, error handling, single path source)
159
- - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
160
-
161
- ## [1.6.1] - 2026-04-19
162
-
163
- ### Added
164
- - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70)
165
- - feat(setup): adapter-driven setup/uninstall across all hosts (#58)
166
- - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55)
167
- - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52)
168
- - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48)
169
- - wrangler, playwright, next build handlers + bun/drizzle routing (#34)
170
- - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort
171
- - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
172
- - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
173
- - structured session memory, cross-session search, error snippets, configurable tunables
174
- - feat(setup): create config.ini on first install
175
- - feat(i18n): locale-aware compress-md with pt-BR support (#25)
176
- - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
177
- - Windows setup via cargo/npm + squeez update fix
178
- - feat(benchmark): add squeez benchmark command with 19-scenario test suite
179
- - feat(ci): re-add promote-develop workflow with correct registration
180
- - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
181
- - feat(npm+crates): add npm package and publish jobs to release workflow
182
- - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
183
- - compress-md, caveman persona, squeez update, track-result hook
184
- - feat(context): adaptive intensity always picks Ultra
185
- - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
186
- - add Windows support to install.sh and release.yml
187
- - add home_dir() helper with USERPROFILE fallback for Windows
188
- - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
189
- - add GitHub Copilot CLI support
190
- - add OpenCode plugin for automatic Bash compression
191
- - add universal installer support for macOS and Linux
192
- - expand benchmarks, edge-case tests, and README polish
193
- - add SessionStart + PostToolUse hooks, update install.sh and README
194
- - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
195
- - squeez init — session start, prior memory banner, session finalization (TDD)
196
- - squeez track — token accumulation + session event log (TDD)
197
- - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
198
- - session.rs — CurrentSession, append_event, date math (TDD)
199
- - json_util helpers + compact_threshold_tokens, memory_retention_days config
200
- - benchmark system — all fixtures passing
201
- - build.sh compiles + installs squeez, registers hook
202
- - PreToolUse hook script
203
- - fs and runtime handlers — all handler tests passing
204
- - cloud, database, network handlers (TDD)
205
- - typescript and build handlers (TDD)
206
- - package_mgr and test_runner handlers (TDD)
207
- - git and docker handlers (TDD)
208
- - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
209
- - Handler trait with cmd+config, generic handler, command router, filter_stdin
210
- - truncation strategy (TDD) — all strategy tests passing
211
- - grouping strategy (TDD)
212
- - dedup strategy (TDD)
213
- - smart_filter strategy with node_modules frame removal (TDD)
214
- - implement config.ini parser (TDD)
12
+ ## [1.7.3] - 2026-04-19
215
13
 
216
14
  ### Changed
217
- - chore(release): bump version to 1.6.1 [squeez-release-bot]
218
- - docs: update changelog and benchmarks for v1.6.0
219
- - chore(release): bump version to 1.6.0 [squeez-release-bot]
220
- - docs: update changelog and benchmarks for v1.5.2
221
- - chore(release): bump version to 1.5.2 [squeez-release-bot]
222
- - chore(release): bump version to 1.5.1 [squeez-release-bot]
223
- - docs: five-host matrix + squeez setup/uninstall flow (#63)
224
- - refactor(install): delegate host registration to 'squeez setup' (#60)
225
- - chore(release): bump version to 1.5.0 [squeez-release-bot]
226
- - chore(release): bump version to 1.4.0 [squeez-release-bot]
227
- - chore(release): bump version to 1.3.0 [squeez-release-bot]
228
- - chore(release): bump version to 1.2.0 [squeez-release-bot]
229
- - chore(release): bump version to 1.1.0 [squeez-release-bot]
230
- - chore(release): bump version to 1.0.0 [skip release]
231
- - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42)
232
- - ci: conventional-commit-driven auto-release (#40)
233
- - chore(gov): issue-form templates + refined PR template (#39)
234
- - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33)
235
- - chore(release): bump version to 0.4.1
236
- - chore(release): bump version to 0.4.0
237
- - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30)
238
- - chore: bump version to 0.3.2
239
- - docs: add shields.io badge for changelog link
240
- - chore: bump version to 0.3.1
241
- - chore: bump version to 0.2.3
242
- - docs: update README with 11 MCP tools, structured memory, and advanced tunables
243
- - chore: bump version to 0.2.2
244
- - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
245
- - chore: refresh bench/report.md from latest run [skip release]
246
- - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
247
- - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
248
- - chore: bump version to 0.2.0; add Cargo.toml metadata
249
- - ci: PR template, linked-issue enforcement, no-claude-trailer check
250
- - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
251
- - ci: auto-delete branches after PR merge
252
- - docs: update Windows installation instructions and prerequisites in README
253
- - docs: add Windows support and Rust install instructions to README
254
- - refactor: use session::home_dir() in config and init (Windows compat)
255
- - ci: trigger promote workflow (test)
256
- - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
257
- - docs(readme): add changelog, contribution workflow, and benchmark notes
258
- - ci(workflow): create/update PR from develop to main on push
259
- - chore: add .worktrees/ to gitignore
260
- - chore: add docs/ to gitignore (local design specs)
261
- - docs: update README for GitHub Copilot CLI support
262
- - security: fix remaining LOW findings in wrap.rs
263
- - security: fix 2 follow-up findings from second audit
264
- - security: fix all 8 findings from security audit
265
- - ci: build and install binary before running benchmarks
266
- - chore: add GitHub sponsor button
267
- - chore: ignore .omc/ directory, remove from tracking
268
- - chore: update benchmark report (7/7 passing)
269
- - docs: update README — real benchmarks, Phase 2 config, how it works
270
- - style: cargo fmt on session.rs and test_session.rs
271
- - chore: open source files — README, LICENSE, CI/release workflows, install.sh
272
- - chore: scaffold squeez Rust project
15
+ - chore(release): bump version to 1.7.3 [squeez-release-bot]
273
16
 
274
17
  ### Fixed
275
- - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72)
276
- - fix(ci): push release docs directly to main (loop-safe) (#68)
277
- - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65)
278
- - fix(ci): startsWith guard for auto-release recursion (#46)
279
- - fix(ci): tighten auto-release bump detection + fix tag push (#44)
280
- - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes
281
- - fix(ci): skip publish gracefully when version already exists on crates.io/npm
282
- - fix(ci): run update-docs even if publish jobs fail (already published)
283
- - fix(ci): continue-on-error for publish jobs so update-docs always runs
284
- - fix(ci): add pull-requests write permission to update-docs job
285
- - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
286
- - fix(ci): update-docs creates PR instead of pushing directly to protected main
287
- - fix(npm): copy README.md into npm package before publish; add readme field
288
- - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
289
- - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
290
- - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
291
- - fix(ci): fix flaky test tmp dir collision + simplify auto-release
292
- - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
293
- - fix(ci): remove secrets in step if-conditions — check token inside script instead
294
- - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
295
- - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
296
- - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
297
- - fix(statusline): remove Ctx% — show only squeez compression metrics
298
- - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
299
- - resolve gap analysis — new handlers, wider redundancy window, token budget
300
- - install.sh — clarify PostToolUse no-matcher intent, guard version echo
301
- - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
302
- - use ends_with for files_committed check in init finalize
303
- - json_util — guard extract_u64 empty digit, add json_util test coverage
304
- - add pre-flight binary check to bench/run.sh
305
- - atomic settings.json write + uninstall safety guards
306
- - harden pretooluse hook (shlex.quote, error handling, single path source)
307
- - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
18
+ - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build
308
19
 
309
- ## [1.6.0] - 2026-04-19
20
+ ## [1.7.0] - 2026-04-18
21
+ ### Features
22
+ - Efficiency-proof benchmark suite — quantitative token-savings proof for US-001 / US-003 / US-004 (#74)
310
23
 
311
- ### Added
312
- - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70)
313
- - feat(setup): adapter-driven setup/uninstall across all hosts (#58)
314
- - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55)
315
- - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52)
316
- - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48)
317
- - wrangler, playwright, next build handlers + bun/drizzle routing (#34)
318
- - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort
319
- - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
320
- - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
321
- - structured session memory, cross-session search, error snippets, configurable tunables
322
- - feat(setup): create config.ini on first install
323
- - feat(i18n): locale-aware compress-md with pt-BR support (#25)
324
- - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
325
- - Windows setup via cargo/npm + squeez update fix
326
- - feat(benchmark): add squeez benchmark command with 19-scenario test suite
327
- - feat(ci): re-add promote-develop workflow with correct registration
328
- - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
329
- - feat(npm+crates): add npm package and publish jobs to release workflow
330
- - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
331
- - compress-md, caveman persona, squeez update, track-result hook
332
- - feat(context): adaptive intensity always picks Ultra
333
- - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
334
- - add Windows support to install.sh and release.yml
335
- - add home_dir() helper with USERPROFILE fallback for Windows
336
- - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
337
- - add GitHub Copilot CLI support
338
- - add OpenCode plugin for automatic Bash compression
339
- - add universal installer support for macOS and Linux
340
- - expand benchmarks, edge-case tests, and README polish
341
- - add SessionStart + PostToolUse hooks, update install.sh and README
342
- - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
343
- - squeez init — session start, prior memory banner, session finalization (TDD)
344
- - squeez track — token accumulation + session event log (TDD)
345
- - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
346
- - session.rs — CurrentSession, append_event, date math (TDD)
347
- - json_util helpers + compact_threshold_tokens, memory_retention_days config
348
- - benchmark system — all fixtures passing
349
- - build.sh compiles + installs squeez, registers hook
350
- - PreToolUse hook script
351
- - fs and runtime handlers — all handler tests passing
352
- - cloud, database, network handlers (TDD)
353
- - typescript and build handlers (TDD)
354
- - package_mgr and test_runner handlers (TDD)
355
- - git and docker handlers (TDD)
356
- - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
357
- - Handler trait with cmd+config, generic handler, command router, filter_stdin
358
- - truncation strategy (TDD) — all strategy tests passing
359
- - grouping strategy (TDD)
360
- - dedup strategy (TDD)
361
- - smart_filter strategy with node_modules frame removal (TDD)
362
- - implement config.ini parser (TDD)
24
+ ## [1.6.1] - 2026-04-18
25
+ ### Bug Fixes
26
+ - OpenCode plugin aligned with PluginModule SDK shape (#72)
363
27
 
364
- ### Changed
365
- - chore(release): bump version to 1.6.0 [squeez-release-bot]
366
- - docs: update changelog and benchmarks for v1.5.2
367
- - chore(release): bump version to 1.5.2 [squeez-release-bot]
368
- - chore(release): bump version to 1.5.1 [squeez-release-bot]
369
- - docs: five-host matrix + squeez setup/uninstall flow (#63)
370
- - refactor(install): delegate host registration to 'squeez setup' (#60)
371
- - chore(release): bump version to 1.5.0 [squeez-release-bot]
372
- - chore(release): bump version to 1.4.0 [squeez-release-bot]
373
- - chore(release): bump version to 1.3.0 [squeez-release-bot]
374
- - chore(release): bump version to 1.2.0 [squeez-release-bot]
375
- - chore(release): bump version to 1.1.0 [squeez-release-bot]
376
- - chore(release): bump version to 1.0.0 [skip release]
377
- - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42)
378
- - ci: conventional-commit-driven auto-release (#40)
379
- - chore(gov): issue-form templates + refined PR template (#39)
380
- - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33)
381
- - chore(release): bump version to 0.4.1
382
- - chore(release): bump version to 0.4.0
383
- - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30)
384
- - chore: bump version to 0.3.2
385
- - docs: add shields.io badge for changelog link
386
- - chore: bump version to 0.3.1
387
- - chore: bump version to 0.2.3
388
- - docs: update README with 11 MCP tools, structured memory, and advanced tunables
389
- - chore: bump version to 0.2.2
390
- - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
391
- - chore: refresh bench/report.md from latest run [skip release]
392
- - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
393
- - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
394
- - chore: bump version to 0.2.0; add Cargo.toml metadata
395
- - ci: PR template, linked-issue enforcement, no-claude-trailer check
396
- - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
397
- - ci: auto-delete branches after PR merge
398
- - docs: update Windows installation instructions and prerequisites in README
399
- - docs: add Windows support and Rust install instructions to README
400
- - refactor: use session::home_dir() in config and init (Windows compat)
401
- - ci: trigger promote workflow (test)
402
- - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
403
- - docs(readme): add changelog, contribution workflow, and benchmark notes
404
- - ci(workflow): create/update PR from develop to main on push
405
- - chore: add .worktrees/ to gitignore
406
- - chore: add docs/ to gitignore (local design specs)
407
- - docs: update README for GitHub Copilot CLI support
408
- - security: fix remaining LOW findings in wrap.rs
409
- - security: fix 2 follow-up findings from second audit
410
- - security: fix all 8 findings from security audit
411
- - ci: build and install binary before running benchmarks
412
- - chore: add GitHub sponsor button
413
- - chore: ignore .omc/ directory, remove from tracking
414
- - chore: update benchmark report (7/7 passing)
415
- - docs: update README — real benchmarks, Phase 2 config, how it works
416
- - style: cargo fmt on session.rs and test_session.rs
417
- - chore: open source files — README, LICENSE, CI/release workflows, install.sh
418
- - chore: scaffold squeez Rust project
419
-
420
- ### Fixed
421
- - fix(ci): push release docs directly to main (loop-safe) (#68)
422
- - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65)
423
- - fix(ci): startsWith guard for auto-release recursion (#46)
424
- - fix(ci): tighten auto-release bump detection + fix tag push (#44)
425
- - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes
426
- - fix(ci): skip publish gracefully when version already exists on crates.io/npm
427
- - fix(ci): run update-docs even if publish jobs fail (already published)
428
- - fix(ci): continue-on-error for publish jobs so update-docs always runs
429
- - fix(ci): add pull-requests write permission to update-docs job
430
- - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
431
- - fix(ci): update-docs creates PR instead of pushing directly to protected main
432
- - fix(npm): copy README.md into npm package before publish; add readme field
433
- - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
434
- - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
435
- - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
436
- - fix(ci): fix flaky test tmp dir collision + simplify auto-release
437
- - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
438
- - fix(ci): remove secrets in step if-conditions — check token inside script instead
439
- - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
440
- - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
441
- - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
442
- - fix(statusline): remove Ctx% — show only squeez compression metrics
443
- - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
444
- - resolve gap analysis — new handlers, wider redundancy window, token budget
445
- - install.sh — clarify PostToolUse no-matcher intent, guard version echo
446
- - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
447
- - use ends_with for files_committed check in init finalize
448
- - json_util — guard extract_u64 empty digit, add json_util test coverage
449
- - add pre-flight binary check to bench/run.sh
450
- - atomic settings.json write + uninstall safety guards
451
- - harden pretooluse hook (shlex.quote, error handling, single path source)
452
- - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
28
+ ## [1.6.0] - 2026-04-18
29
+ ### Features
30
+ - Token-compression power-up sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70)
453
31
 
454
32
  ## [1.5.2] - 2026-04-18
33
+ ### Bug Fixes
34
+ - CI: push release docs directly to main (loop-safe)
455
35
 
456
- ### Added
457
- - feat(setup): adapter-driven setup/uninstall across all hosts (#58)
458
- - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55)
459
- - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52)
460
- - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48)
461
- - wrangler, playwright, next build handlers + bun/drizzle routing (#34)
462
- - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort
463
- - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
464
- - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
465
- - structured session memory, cross-session search, error snippets, configurable tunables
466
- - feat(setup): create config.ini on first install
467
- - feat(i18n): locale-aware compress-md with pt-BR support (#25)
468
- - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
469
- - Windows setup via cargo/npm + squeez update fix
470
- - feat(benchmark): add squeez benchmark command with 19-scenario test suite
471
- - feat(ci): re-add promote-develop workflow with correct registration
472
- - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
473
- - feat(npm+crates): add npm package and publish jobs to release workflow
474
- - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
475
- - compress-md, caveman persona, squeez update, track-result hook
476
- - feat(context): adaptive intensity always picks Ultra
477
- - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
478
- - add Windows support to install.sh and release.yml
479
- - add home_dir() helper with USERPROFILE fallback for Windows
480
- - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
481
- - add GitHub Copilot CLI support
482
- - add OpenCode plugin for automatic Bash compression
483
- - add universal installer support for macOS and Linux
484
- - expand benchmarks, edge-case tests, and README polish
485
- - add SessionStart + PostToolUse hooks, update install.sh and README
486
- - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
487
- - squeez init — session start, prior memory banner, session finalization (TDD)
488
- - squeez track — token accumulation + session event log (TDD)
489
- - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
490
- - session.rs — CurrentSession, append_event, date math (TDD)
491
- - json_util helpers + compact_threshold_tokens, memory_retention_days config
492
- - benchmark system — all fixtures passing
493
- - build.sh compiles + installs squeez, registers hook
494
- - PreToolUse hook script
495
- - fs and runtime handlers — all handler tests passing
496
- - cloud, database, network handlers (TDD)
497
- - typescript and build handlers (TDD)
498
- - package_mgr and test_runner handlers (TDD)
499
- - git and docker handlers (TDD)
500
- - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
501
- - Handler trait with cmd+config, generic handler, command router, filter_stdin
502
- - truncation strategy (TDD) — all strategy tests passing
503
- - grouping strategy (TDD)
504
- - dedup strategy (TDD)
505
- - smart_filter strategy with node_modules frame removal (TDD)
506
- - implement config.ini parser (TDD)
507
-
508
- ### Changed
509
- - chore(release): bump version to 1.5.2 [squeez-release-bot]
510
- - chore(release): bump version to 1.5.1 [squeez-release-bot]
511
- - docs: five-host matrix + squeez setup/uninstall flow (#63)
512
- - refactor(install): delegate host registration to 'squeez setup' (#60)
513
- - chore(release): bump version to 1.5.0 [squeez-release-bot]
514
- - chore(release): bump version to 1.4.0 [squeez-release-bot]
515
- - chore(release): bump version to 1.3.0 [squeez-release-bot]
516
- - chore(release): bump version to 1.2.0 [squeez-release-bot]
517
- - chore(release): bump version to 1.1.0 [squeez-release-bot]
518
- - chore(release): bump version to 1.0.0 [skip release]
519
- - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42)
520
- - ci: conventional-commit-driven auto-release (#40)
521
- - chore(gov): issue-form templates + refined PR template (#39)
522
- - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33)
523
- - chore(release): bump version to 0.4.1
524
- - chore(release): bump version to 0.4.0
525
- - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30)
526
- - chore: bump version to 0.3.2
527
- - docs: add shields.io badge for changelog link
528
- - chore: bump version to 0.3.1
529
- - chore: bump version to 0.2.3
530
- - docs: update README with 11 MCP tools, structured memory, and advanced tunables
531
- - chore: bump version to 0.2.2
532
- - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
533
- - chore: refresh bench/report.md from latest run [skip release]
534
- - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
535
- - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
536
- - chore: bump version to 0.2.0; add Cargo.toml metadata
537
- - ci: PR template, linked-issue enforcement, no-claude-trailer check
538
- - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
539
- - ci: auto-delete branches after PR merge
540
- - docs: update Windows installation instructions and prerequisites in README
541
- - docs: add Windows support and Rust install instructions to README
542
- - refactor: use session::home_dir() in config and init (Windows compat)
543
- - ci: trigger promote workflow (test)
544
- - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
545
- - docs(readme): add changelog, contribution workflow, and benchmark notes
546
- - ci(workflow): create/update PR from develop to main on push
547
- - chore: add .worktrees/ to gitignore
548
- - chore: add docs/ to gitignore (local design specs)
549
- - docs: update README for GitHub Copilot CLI support
550
- - security: fix remaining LOW findings in wrap.rs
551
- - security: fix 2 follow-up findings from second audit
552
- - security: fix all 8 findings from security audit
553
- - ci: build and install binary before running benchmarks
554
- - chore: add GitHub sponsor button
555
- - chore: ignore .omc/ directory, remove from tracking
556
- - chore: update benchmark report (7/7 passing)
557
- - docs: update README — real benchmarks, Phase 2 config, how it works
558
- - style: cargo fmt on session.rs and test_session.rs
559
- - chore: open source files — README, LICENSE, CI/release workflows, install.sh
560
- - chore: scaffold squeez Rust project
561
-
562
- ### Fixed
563
- - fix(ci): push release docs directly to main (loop-safe) (#68)
564
- - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65)
565
- - fix(ci): startsWith guard for auto-release recursion (#46)
566
- - fix(ci): tighten auto-release bump detection + fix tag push (#44)
567
- - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes
568
- - fix(ci): skip publish gracefully when version already exists on crates.io/npm
569
- - fix(ci): run update-docs even if publish jobs fail (already published)
570
- - fix(ci): continue-on-error for publish jobs so update-docs always runs
571
- - fix(ci): add pull-requests write permission to update-docs job
572
- - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
573
- - fix(ci): update-docs creates PR instead of pushing directly to protected main
574
- - fix(npm): copy README.md into npm package before publish; add readme field
575
- - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
576
- - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
577
- - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
578
- - fix(ci): fix flaky test tmp dir collision + simplify auto-release
579
- - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
580
- - fix(ci): remove secrets in step if-conditions — check token inside script instead
581
- - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
582
- - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
583
- - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
584
- - fix(statusline): remove Ctx% — show only squeez compression metrics
585
- - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
586
- - resolve gap analysis — new handlers, wider redundancy window, token budget
587
- - install.sh — clarify PostToolUse no-matcher intent, guard version echo
588
- - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
589
- - use ends_with for files_committed check in init finalize
590
- - json_util — guard extract_u64 empty digit, add json_util test coverage
591
- - add pre-flight binary check to bench/run.sh
592
- - atomic settings.json write + uninstall safety guards
593
- - harden pretooluse hook (shlex.quote, error handling, single path source)
594
- - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
595
-
596
- ## [0.4.1] - 2026-04-16
597
-
598
- ### Added
599
- - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort
600
- - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
601
- - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
602
- - structured session memory, cross-session search, error snippets, configurable tunables
603
- - feat(setup): create config.ini on first install
604
- - feat(i18n): locale-aware compress-md with pt-BR support (#25)
605
- - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
606
- - Windows setup via cargo/npm + squeez update fix
607
- - feat(benchmark): add squeez benchmark command with 19-scenario test suite
608
- - feat(ci): re-add promote-develop workflow with correct registration
609
- - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
610
- - feat(npm+crates): add npm package and publish jobs to release workflow
611
- - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
612
- - compress-md, caveman persona, squeez update, track-result hook
613
- - feat(context): adaptive intensity always picks Ultra
614
- - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
615
- - add Windows support to install.sh and release.yml
616
- - add home_dir() helper with USERPROFILE fallback for Windows
617
- - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
618
- - add GitHub Copilot CLI support
619
- - add OpenCode plugin for automatic Bash compression
620
- - add universal installer support for macOS and Linux
621
- - expand benchmarks, edge-case tests, and README polish
622
- - add SessionStart + PostToolUse hooks, update install.sh and README
623
- - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
624
- - squeez init — session start, prior memory banner, session finalization (TDD)
625
- - squeez track — token accumulation + session event log (TDD)
626
- - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
627
- - session.rs — CurrentSession, append_event, date math (TDD)
628
- - json_util helpers + compact_threshold_tokens, memory_retention_days config
629
- - benchmark system — all fixtures passing
630
- - build.sh compiles + installs squeez, registers hook
631
- - PreToolUse hook script
632
- - fs and runtime handlers — all handler tests passing
633
- - cloud, database, network handlers (TDD)
634
- - typescript and build handlers (TDD)
635
- - package_mgr and test_runner handlers (TDD)
636
- - git and docker handlers (TDD)
637
- - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
638
- - Handler trait with cmd+config, generic handler, command router, filter_stdin
639
- - truncation strategy (TDD) — all strategy tests passing
640
- - grouping strategy (TDD)
641
- - dedup strategy (TDD)
642
- - smart_filter strategy with node_modules frame removal (TDD)
643
- - implement config.ini parser (TDD)
644
-
645
- ### Changed
646
- - chore(release): bump version to 0.4.1
647
- - chore(release): bump version to 0.4.0
648
- - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30)
649
- - chore: bump version to 0.3.2
650
- - docs: add shields.io badge for changelog link
651
- - chore: bump version to 0.3.1
652
- - chore: bump version to 0.2.3
653
- - docs: update README with 11 MCP tools, structured memory, and advanced tunables
654
- - chore: bump version to 0.2.2
655
- - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
656
- - chore: refresh bench/report.md from latest run [skip release]
657
- - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
658
- - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
659
- - chore: bump version to 0.2.0; add Cargo.toml metadata
660
- - ci: PR template, linked-issue enforcement, no-claude-trailer check
661
- - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
662
- - ci: auto-delete branches after PR merge
663
- - docs: update Windows installation instructions and prerequisites in README
664
- - docs: add Windows support and Rust install instructions to README
665
- - refactor: use session::home_dir() in config and init (Windows compat)
666
- - ci: trigger promote workflow (test)
667
- - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
668
- - docs(readme): add changelog, contribution workflow, and benchmark notes
669
- - ci(workflow): create/update PR from develop to main on push
670
- - chore: add .worktrees/ to gitignore
671
- - chore: add docs/ to gitignore (local design specs)
672
- - docs: update README for GitHub Copilot CLI support
673
- - security: fix remaining LOW findings in wrap.rs
674
- - security: fix 2 follow-up findings from second audit
675
- - security: fix all 8 findings from security audit
676
- - ci: build and install binary before running benchmarks
677
- - chore: add GitHub sponsor button
678
- - chore: ignore .omc/ directory, remove from tracking
679
- - chore: update benchmark report (7/7 passing)
680
- - docs: update README — real benchmarks, Phase 2 config, how it works
681
- - style: cargo fmt on session.rs and test_session.rs
682
- - chore: open source files — README, LICENSE, CI/release workflows, install.sh
683
- - chore: scaffold squeez Rust project
684
-
685
- ### Fixed
686
- - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes
687
- - fix(ci): skip publish gracefully when version already exists on crates.io/npm
688
- - fix(ci): run update-docs even if publish jobs fail (already published)
689
- - fix(ci): continue-on-error for publish jobs so update-docs always runs
690
- - fix(ci): add pull-requests write permission to update-docs job
691
- - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
692
- - fix(ci): update-docs creates PR instead of pushing directly to protected main
693
- - fix(npm): copy README.md into npm package before publish; add readme field
694
- - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
695
- - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
696
- - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
697
- - fix(ci): fix flaky test tmp dir collision + simplify auto-release
698
- - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
699
- - fix(ci): remove secrets in step if-conditions — check token inside script instead
700
- - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
701
- - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
702
- - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
703
- - fix(statusline): remove Ctx% — show only squeez compression metrics
704
- - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
705
- - resolve gap analysis — new handlers, wider redundancy window, token budget
706
- - install.sh — clarify PostToolUse no-matcher intent, guard version echo
707
- - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
708
- - use ends_with for files_committed check in init finalize
709
- - json_util — guard extract_u64 empty digit, add json_util test coverage
710
- - add pre-flight binary check to bench/run.sh
711
- - atomic settings.json write + uninstall safety guards
712
- - harden pretooluse hook (shlex.quote, error handling, single path source)
713
- - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
714
-
715
- ## [0.4.0] - 2026-04-16
716
-
717
- ### Added
718
- - feat(opus47): dual-model cost table in benchmark — Sonnet 4.6 ($3/MTok) + Opus 4.7 ($5/MTok)
719
- - feat(opus47): protocol now educates LLM on xhigh thinking-block overhead (~2× budget burn)
720
-
721
- ### Changed
722
- - feat(opus47): compact_threshold_tokens 120k → 90k (earlier compaction trigger for new tokenizer)
723
- - feat(opus47): agent_spawn_cost 270k → 350k (xhigh subagents burn more tokens)
724
- - feat(opus47): burn_rate_warn_calls 20 → 30 (wider pre-exhaustion warning window)
725
- - feat(opus47): state_warn_calls 5 → 10 (more runway to save session state)
726
- - feat(opus47): ultra_trigger_pct 0.72 → 0.65 (go Ultra compression earlier)
727
- - feat(opus47): MCP context_pressure thresholds — use_state_first ≥90%→≥75%, compact_soon ≥70%→≥55%
728
- - fix: DEFAULT_AGENT_SPAWN_COST constant synced to config default (200k → 270k)
729
-
730
- ## [0.3.2] - 2026-04-16
731
-
732
- ### Added
733
- - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
734
- - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
735
- - structured session memory, cross-session search, error snippets, configurable tunables
736
- - feat(setup): create config.ini on first install
737
- - feat(i18n): locale-aware compress-md with pt-BR support (#25)
738
- - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
739
- - Windows setup via cargo/npm + squeez update fix
740
- - feat(benchmark): add squeez benchmark command with 19-scenario test suite
741
- - feat(ci): re-add promote-develop workflow with correct registration
742
- - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
743
- - feat(npm+crates): add npm package and publish jobs to release workflow
744
- - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
745
- - compress-md, caveman persona, squeez update, track-result hook
746
- - feat(context): adaptive intensity always picks Ultra
747
- - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
748
- - add Windows support to install.sh and release.yml
749
- - add home_dir() helper with USERPROFILE fallback for Windows
750
- - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
751
- - add GitHub Copilot CLI support
752
- - add OpenCode plugin for automatic Bash compression
753
- - add universal installer support for macOS and Linux
754
- - expand benchmarks, edge-case tests, and README polish
755
- - add SessionStart + PostToolUse hooks, update install.sh and README
756
- - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
757
- - squeez init — session start, prior memory banner, session finalization (TDD)
758
- - squeez track — token accumulation + session event log (TDD)
759
- - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
760
- - session.rs — CurrentSession, append_event, date math (TDD)
761
- - json_util helpers + compact_threshold_tokens, memory_retention_days config
762
- - benchmark system — all fixtures passing
763
- - build.sh compiles + installs squeez, registers hook
764
- - PreToolUse hook script
765
- - fs and runtime handlers — all handler tests passing
766
- - cloud, database, network handlers (TDD)
767
- - typescript and build handlers (TDD)
768
- - package_mgr and test_runner handlers (TDD)
769
- - git and docker handlers (TDD)
770
- - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
771
- - Handler trait with cmd+config, generic handler, command router, filter_stdin
772
- - truncation strategy (TDD) — all strategy tests passing
773
- - grouping strategy (TDD)
774
- - dedup strategy (TDD)
775
- - smart_filter strategy with node_modules frame removal (TDD)
776
- - implement config.ini parser (TDD)
777
-
778
- ### Changed
779
- - chore: bump version to 0.3.2
780
- - docs: add shields.io badge for changelog link
781
- - chore: bump version to 0.3.1
782
- - chore: bump version to 0.2.3
783
- - docs: update README with 11 MCP tools, structured memory, and advanced tunables
784
- - chore: bump version to 0.2.2
785
- - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
786
- - chore: refresh bench/report.md from latest run [skip release]
787
- - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
788
- - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
789
- - chore: bump version to 0.2.0; add Cargo.toml metadata
790
- - ci: PR template, linked-issue enforcement, no-claude-trailer check
791
- - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
792
- - ci: auto-delete branches after PR merge
793
- - docs: update Windows installation instructions and prerequisites in README
794
- - docs: add Windows support and Rust install instructions to README
795
- - refactor: use session::home_dir() in config and init (Windows compat)
796
- - ci: trigger promote workflow (test)
797
- - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
798
- - docs(readme): add changelog, contribution workflow, and benchmark notes
799
- - ci(workflow): create/update PR from develop to main on push
800
- - chore: add .worktrees/ to gitignore
801
- - chore: add docs/ to gitignore (local design specs)
802
- - docs: update README for GitHub Copilot CLI support
803
- - security: fix remaining LOW findings in wrap.rs
804
- - security: fix 2 follow-up findings from second audit
805
- - security: fix all 8 findings from security audit
806
- - ci: build and install binary before running benchmarks
807
- - chore: add GitHub sponsor button
808
- - chore: ignore .omc/ directory, remove from tracking
809
- - chore: update benchmark report (7/7 passing)
810
- - docs: update README — real benchmarks, Phase 2 config, how it works
811
- - style: cargo fmt on session.rs and test_session.rs
812
- - chore: open source files — README, LICENSE, CI/release workflows, install.sh
813
- - chore: scaffold squeez Rust project
814
-
815
- ### Fixed
816
- - fix(ci): run update-docs even if publish jobs fail (already published)
817
- - fix(ci): continue-on-error for publish jobs so update-docs always runs
818
- - fix(ci): add pull-requests write permission to update-docs job
819
- - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
820
- - fix(ci): update-docs creates PR instead of pushing directly to protected main
821
- - fix(npm): copy README.md into npm package before publish; add readme field
822
- - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
823
- - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
824
- - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
825
- - fix(ci): fix flaky test tmp dir collision + simplify auto-release
826
- - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
827
- - fix(ci): remove secrets in step if-conditions — check token inside script instead
828
- - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
829
- - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
830
- - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
831
- - fix(statusline): remove Ctx% — show only squeez compression metrics
832
- - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
833
- - resolve gap analysis — new handlers, wider redundancy window, token budget
834
- - install.sh — clarify PostToolUse no-matcher intent, guard version echo
835
- - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
836
- - use ends_with for files_committed check in init finalize
837
- - json_util — guard extract_u64 empty digit, add json_util test coverage
838
- - add pre-flight binary check to bench/run.sh
839
- - atomic settings.json write + uninstall safety guards
840
- - harden pretooluse hook (shlex.quote, error handling, single path source)
841
- - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
842
-
843
- ### Fixed
844
- - `squeez update` on Windows now detects cargo-managed installs and delegates to `cargo install squeez` automatically, avoiding exe-lock issues
845
- - `install_target_path()` uses `current_exe()` instead of hardcoded `~/.claude/squeez/bin`, so the correct binary is always updated regardless of install method
846
- - Windows self-update fallback spawns a detached `cmd.exe` to move the staged binary after process exit, instead of requiring manual `move /Y`
847
- - `install_atomic` now returns `Ok(bool)` distinguishing immediate vs deferred installs; success message no longer appears when install was only staged
848
-
849
- ### Added
850
- - `session-start.sh`: rate-limited daily update check — prints `[squeez] Update available` to stderr (visible in terminal) when a new version is detected
851
- - `squeez setup`: auto-detects user language from `~/.claude/CLAUDE.md` and system locale (`LANG`/`LC_ALL`) and writes correct `lang =` into `config.ini` on first install
852
-
853
- ## [0.3.0] - 2026-04-14
854
-
855
- ### Added
856
- - Token economy layer: sub-agent cost tracking via PostToolUse hook (~200K tokens/spawn estimate)
857
- - Context pressure prediction: sliding-window burn rate with `[budget: ~N calls left]` header
858
- - Session efficiency scoring: compression ratio, tool choice, context reuse, budget conservation (basis points)
859
- - Tool result size budgets: per-tool output caps via PreToolUse hook (`read_max_lines`, `grep_max_results`)
860
- - Auto-calibration on install: `squeez calibrate` runs benchmarks and generates optimized `config.ini`
861
- - 2 new MCP tools: `squeez_agent_costs`, `squeez_session_efficiency` (11 → 13 total)
862
- - 2 new CLI commands: `squeez calibrate`, `squeez budget-params <tool>`
863
- - 5 new config keys: `agent_warn_threshold_pct`, `burn_rate_warn_calls`, `agent_spawn_cost`, `read_max_lines`, `grep_max_results`
864
- - 29 new economy module unit tests
865
- - `src/economy/` module: `agent_tracker.rs`, `burn_rate.rs`, `efficiency.rs`, `calibrate.rs`, `budget.rs`
866
-
867
- ### Changed
868
- - PreToolUse hook now matches all tools (was Bash-only) for budget enforcement
869
- - `build.sh` runs `squeez calibrate` automatically after install
870
- - Wrap header now shows burn rate and agent cost warnings
871
- - Session finalization computes and stores efficiency scores in `memory/summaries.jsonl`
872
- - `SessionContext` extended with agent tracking and burn window fields
873
-
874
- ## [0.2.3] - 2026-04-10
875
-
876
- ### Added
877
- - Structured session memory: `investigated`, `learned`, `completed`, `next_steps` fields in summaries
878
- - Cross-session search: `squeez_search_history`, `squeez_file_history` MCP tools
879
- - Error snippets: first 128 chars stored alongside FNV fingerprints
880
- - Configurable tunables: `max_call_log`, `recent_window`, `similarity_threshold`, `ultra_trigger_pct`
881
- - `squeez_seen_error_details`, `squeez_session_detail`, `squeez_session_stats` MCP tools (6 → 11 total)
882
- - Locale-aware `compress-md` with pt-BR support (`lang = pt` in config or `--lang pt`)
883
- - `config.ini` auto-created on first install via `squeez setup`
884
-
885
- ### Changed
886
- - MCP tool count: 6 → 11
887
- - README rewritten with full install instructions and all commands
888
-
889
- ### Fixed
890
- - Windows setup via cargo/npm + `squeez update` fix
891
- - CI: dispatch `release.yml` from `auto-release` to bypass GITHUB_TOKEN chain limit
892
-
893
- ## [0.2.2] - 2026-03-28
894
-
895
- ### Added
896
- - `squeez benchmark` command: 19-scenario reproducible benchmark suite with quality scoring
897
- - JSON output mode (`--json`) and scenario filtering (`--scenario`)
898
-
899
- ### Changed
900
- - README rewritten with full install instructions (curl/npm/cargo)
901
-
902
- ### Fixed
903
- - Flaky test tmp dir collision in CI
904
- - `bench/run.sh` excludes synthetic fixtures (filter-mode only)
905
- - CI workflow registration fixes for `promote-develop`
906
-
907
- ## [0.2.1] - 2026-03-20
908
-
909
- ### Added
910
- - Persona injection into `~/.claude/CLAUDE.md` on every session start
911
- - npm package and crates.io publish jobs in release workflow
912
- - Statusline with real-time compression metrics
913
-
914
- ### Fixed
915
- - `compress_md`: byte slice comparison to avoid UTF-8 char boundary panic
916
- - Statusline: proper capitalization, green checkmark, real-time context %
917
-
918
- ## [0.2.0] - 2026-03-15
919
-
920
- ### Added
921
- - Context engine: adaptive intensity, redundancy cache, summarize fallback
922
- - `compress-md` command: pure-Rust markdown compressor
923
- - Caveman persona prompt injection
924
- - `squeez update` self-update command
925
- - `track-result` PostToolUse hook for file/error tracking
926
- - Cloud CLI handlers (kubectl, gh, aws, gcloud, az)
927
- - Database handlers (psql, prisma, mysql)
928
- - Data tool handlers (jq, yq, terraform)
929
- - Windows support in `install.sh` and `release.yml`
930
-
931
- ### Changed
932
- - Wider redundancy window, token budget improvements
933
- - CI: PR template, linked-issue enforcement
36
+ ## [1.5.1] and earlier
37
+ 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.
934
38
 
935
- [Unreleased]: https://github.com/claudioemmanuel/squeez/compare/v1.7.0...HEAD
936
- [0.3.0]: https://github.com/claudioemmanuel/squeez/compare/v0.2.3...v0.3.0
937
- [0.2.3]: https://github.com/claudioemmanuel/squeez/compare/v0.2.2...v0.2.3
938
- [0.2.2]: https://github.com/claudioemmanuel/squeez/compare/v0.2.1...v0.2.2
939
- [0.2.1]: https://github.com/claudioemmanuel/squeez/compare/v0.2.0...v0.2.1
940
- [0.2.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v0.2.0
941
- [0.3.2]: https://github.com/claudioemmanuel/squeez/releases/tag/v0.3.2
942
- [0.4.1]: https://github.com/claudioemmanuel/squeez/releases/tag/v0.4.1
39
+ [Unreleased]: https://github.com/claudioemmanuel/squeez/compare/v1.7.3...HEAD
40
+ [1.7.0]: https://github.com/claudioemmanuel/squeez/compare/v1.6.1...v1.7.0
41
+ [1.6.1]: https://github.com/claudioemmanuel/squeez/compare/v1.6.0...v1.6.1
42
+ [1.6.0]: https://github.com/claudioemmanuel/squeez/compare/v1.5.2...v1.6.0
943
43
  [1.5.2]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.5.2
944
- [1.6.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.6.0
945
- [1.6.1]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.6.1
946
- [1.7.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.7.0
44
+ [1.7.3]: https://github.com/claudioemmanuel/squeez/compare/v1.7.2...v1.7.3
package/README.md CHANGED
@@ -119,29 +119,29 @@ Measured on macOS (Apple Silicon). Token count = `chars / 4` (matches Claude's ~
119
119
 
120
120
  | Scenario | Before | After | Reduction | Latency |
121
121
  |----------|--------|-------|-----------|---------|
122
- | `summarize_huge` | 82,257 tk | 420 tk | **-99%** | 55.7 ms |
123
- | `repetitive_output` | 4,692 tk | 37 tk | **-99%** | 213 µs |
124
- | `high_context_adaptive` | 4,418 tk | 52 tk | **-99%** | 823 µs |
125
- | `ps_aux` | 40,373 tk | 2,352 tk | **-94%** | 2.9 ms |
126
- | `git_log_200` | 2,692 tk | 289 tk | **-89%** | 226 µs |
127
- | `tsc_errors` | 731 tk | 101 tk | **-86%** | 26 µs |
128
- | `cargo_build_noisy` | 2,106 tk | 452 tk | **-79%** | 257 µs |
129
- | `docker_logs` | 665 tk | 186 tk | **-72%** | 49 µs |
130
- | `find_deep` | 424 tk | 134 tk | **-68%** | 82 µs |
131
- | `git_status` | 50 tk | 16 tk | **-68%** | 12 µs |
132
- | `state_first_simulation` | 182 tk | 69 tk | **-62%** | 12 µs |
133
- | `verbose_app_log` | 4,957 tk | 1,991 tk | **-60%** | 303 µs |
134
- | `npm_install` | 524 tk | 232 tk | **-56%** | 49 µs |
135
- | `claude_md_overhead` | 717 tk | 318 tk | **-56%** | 358 µs |
122
+ | `summarize_huge` | 82,257 tk | 420 tk | **-99%** | 55.4 ms |
123
+ | `repetitive_output` | 4,692 tk | 37 tk | **-99%** | 206 µs |
124
+ | `high_context_adaptive` | 4,418 tk | 52 tk | **-99%** | 803 µs |
125
+ | `ps_aux` | 40,373 tk | 2,352 tk | **-94%** | 2.7 ms |
126
+ | `git_log_200` | 2,692 tk | 289 tk | **-89%** | 203 µs |
127
+ | `tsc_errors` | 731 tk | 101 tk | **-86%** | 27 µs |
128
+ | `cargo_build_noisy` | 2,106 tk | 452 tk | **-79%** | 244 µs |
129
+ | `docker_logs` | 665 tk | 186 tk | **-72%** | 44 µs |
130
+ | `find_deep` | 424 tk | 134 tk | **-68%** | 80 µs |
131
+ | `git_status` | 50 tk | 16 tk | **-68%** | 11 µs |
132
+ | `state_first_simulation` | 182 tk | 69 tk | **-62%** | 13 µs |
133
+ | `verbose_app_log` | 4,957 tk | 1,991 tk | **-60%** | 286 µs |
134
+ | `npm_install` | 524 tk | 232 tk | **-56%** | 46 µs |
135
+ | `claude_md_overhead` | 717 tk | 318 tk | **-56%** | 334 µs |
136
136
  | `crosscall_redundancy_3x` | 486 tk | 241 tk | **-50%** | 51.5 ms |
137
- | `ls_la` | 1,782 tk | 886 tk | **-50%** | 214 µs |
138
- | `env_dump` | 441 tk | 287 tk | **-35%** | 25 µs |
139
- | `git_copilot` | 640 tk | 421 tk | **-34%** | 112 µs |
140
- | `agent_heavy` | 2,306 tk | 1,564 tk | **-32%** | 405 µs |
141
- | `md_prose` | 187 tk | 138 tk | **-26%** | 651 µs |
142
- | `md_claude_md` | 316 tk | 247 tk | **-22%** | 1.2 ms |
143
- | `git_diff` | 502 tk | 497 tk | **-1%** | 43 µs |
144
- | `kubectl_pods` | 1,513 tk | 1,513 tk | **-0%** | 29 µs |
137
+ | `ls_la` | 1,782 tk | 886 tk | **-50%** | 210 µs |
138
+ | `env_dump` | 441 tk | 287 tk | **-35%** | 24 µs |
139
+ | `git_copilot` | 640 tk | 421 tk | **-34%** | 97 µs |
140
+ | `agent_heavy` | 2,306 tk | 1,564 tk | **-32%** | 378 µs |
141
+ | `md_prose` | 187 tk | 138 tk | **-26%** | 639 µs |
142
+ | `md_claude_md` | 316 tk | 247 tk | **-22%** | 1.1 ms |
143
+ | `git_diff` | 502 tk | 497 tk | **-1%** | 44 µs |
144
+ | `kubectl_pods` | 1,513 tk | 1,513 tk | **-0%** | 28 µs |
145
145
 
146
146
  ### Aggregate
147
147
 
@@ -153,7 +153,7 @@ Measured on macOS (Apple Silicon). Token count = `chars / 4` (matches Claude's ~
153
153
  | Wrap / cross-call engine | **-99.2%** |
154
154
  | Quality (signal terms preserved) | **23 / 23 pass** |
155
155
  | Latency p50 (filter mode) | **5.0 ms** |
156
- | Latency p95 (incl. wrap/summarize) | **52 ms** |
156
+ | Latency p95 (incl. wrap/summarize) | **51 ms** |
157
157
 
158
158
  ### Estimated cost savings — Claude Sonnet 4.6 · $3.00 / MTok input
159
159
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "squeez",
3
- "version": "1.7.1",
3
+ "version": "1.7.4",
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",