squeez 1.21.0 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +1534 -1
  2. package/README.md +29 -28
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -9,6 +9,1535 @@ conventional commit messages on `main`.
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [1.22.1] - 2026-06-10
13
+
14
+ ### Added
15
+ - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration
16
+ - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135)
17
+ - feat(benchmark): add information-preservation guard against output-token inflation (#133)
18
+ - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134)
19
+ - feat(sig-mode): preserve attribute / decorator above kept signatures (#137)
20
+ - feat(economy): auto-curation nudges + cross-session handler stats (#118)
21
+ - feat(hosts): add Pi adapter (#116)
22
+ - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps
23
+ - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios
24
+ - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102)
25
+ - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101)
26
+ - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100)
27
+ - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+)
28
+ - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90)
29
+ - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88)
30
+ - feat(economy): compress Agent/Task prompt at PreToolUse time (#87)
31
+ - feat(handlers): xcodebuild noise filter + log-file tail detection (#84)
32
+ - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74)
33
+ - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70)
34
+ - feat(setup): adapter-driven setup/uninstall across all hosts (#58)
35
+ - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55)
36
+ - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52)
37
+ - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48)
38
+ - wrangler, playwright, next build handlers + bun/drizzle routing (#34)
39
+ - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort
40
+ - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
41
+ - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
42
+ - structured session memory, cross-session search, error snippets, configurable tunables
43
+ - feat(setup): create config.ini on first install
44
+ - feat(i18n): locale-aware compress-md with pt-BR support (#25)
45
+ - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
46
+ - Windows setup via cargo/npm + squeez update fix
47
+ - feat(benchmark): add squeez benchmark command with 19-scenario test suite
48
+ - feat(ci): re-add promote-develop workflow with correct registration
49
+ - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
50
+ - feat(npm+crates): add npm package and publish jobs to release workflow
51
+ - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
52
+ - compress-md, caveman persona, squeez update, track-result hook
53
+ - feat(context): adaptive intensity always picks Ultra
54
+ - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
55
+ - add Windows support to install.sh and release.yml
56
+ - add home_dir() helper with USERPROFILE fallback for Windows
57
+ - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
58
+ - add GitHub Copilot CLI support
59
+ - add OpenCode plugin for automatic Bash compression
60
+ - add universal installer support for macOS and Linux
61
+ - expand benchmarks, edge-case tests, and README polish
62
+ - add SessionStart + PostToolUse hooks, update install.sh and README
63
+ - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
64
+ - squeez init — session start, prior memory banner, session finalization (TDD)
65
+ - squeez track — token accumulation + session event log (TDD)
66
+ - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
67
+ - session.rs — CurrentSession, append_event, date math (TDD)
68
+ - json_util helpers + compact_threshold_tokens, memory_retention_days config
69
+ - benchmark system — all fixtures passing
70
+ - build.sh compiles + installs squeez, registers hook
71
+ - PreToolUse hook script
72
+ - fs and runtime handlers — all handler tests passing
73
+ - cloud, database, network handlers (TDD)
74
+ - typescript and build handlers (TDD)
75
+ - package_mgr and test_runner handlers (TDD)
76
+ - git and docker handlers (TDD)
77
+ - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
78
+ - Handler trait with cmd+config, generic handler, command router, filter_stdin
79
+ - truncation strategy (TDD) — all strategy tests passing
80
+ - grouping strategy (TDD)
81
+ - dedup strategy (TDD)
82
+ - smart_filter strategy with node_modules frame removal (TDD)
83
+ - implement config.ini parser (TDD)
84
+
85
+ ### Changed
86
+ - chore(release): bump version to 1.22.1 [squeez-release-bot]
87
+ - docs: update changelog and benchmarks for v1.22.0
88
+ - chore(release): bump version to 1.22.0 [squeez-release-bot]
89
+ - docs: update changelog and benchmarks for v1.21.1
90
+ - chore(release): bump version to 1.21.1 [squeez-release-bot]
91
+ - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142)
92
+ - docs: update changelog and benchmarks for v1.21.0
93
+ - chore(release): bump version to 1.21.0 [squeez-release-bot]
94
+ - docs: update changelog and benchmarks for v1.20.0
95
+ - chore(release): bump version to 1.20.0 [squeez-release-bot]
96
+ - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138)
97
+ - test(cache): lock in byte-stability of MCP and protocol payloads (#136)
98
+ - docs: update changelog and benchmarks for v1.19.4
99
+ - chore(release): bump version to 1.19.4 [squeez-release-bot]
100
+ - docs: update changelog and benchmarks for v1.19.3
101
+ - chore(release): bump version to 1.19.3 [squeez-release-bot]
102
+ - docs: update changelog and benchmarks for v1.19.2
103
+ - chore(release): bump version to 1.19.2 [squeez-release-bot]
104
+ - docs: update changelog and benchmarks for v1.19.1
105
+ - chore(release): bump version to 1.19.1 [squeez-release-bot]
106
+ - docs: update changelog and benchmarks for v1.19.0
107
+ - chore(release): bump version to 1.19.0 [squeez-release-bot]
108
+ - docs: update changelog and benchmarks for v1.18.1
109
+ - chore(release): bump version to 1.18.1 [squeez-release-bot]
110
+ - docs: update changelog and benchmarks for v1.18.0
111
+ - chore(release): bump version to 1.18.0 [squeez-release-bot]
112
+ - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111)
113
+ - docs: update changelog and benchmarks for v1.17.0
114
+ - chore(release): bump version to 1.17.0 [squeez-release-bot]
115
+ - docs: update changelog and benchmarks for v1.16.0
116
+ - chore(release): bump version to 1.16.0 [squeez-release-bot]
117
+ - docs: update changelog and benchmarks for v1.15.1
118
+ - chore(release): bump version to 1.15.1 [squeez-release-bot]
119
+ - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108)
120
+ - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106)
121
+ - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103)
122
+ - docs: update changelog and benchmarks for v1.15.0
123
+ - chore(release): bump version to 1.15.0 [squeez-release-bot]
124
+ - docs: update changelog and benchmarks for v1.13.0
125
+ - chore(release): bump version to 1.14.0 [squeez-release-bot]
126
+ - chore(release): bump version to 1.13.0 [squeez-release-bot]
127
+ - docs: update changelog and benchmarks for v1.12.0
128
+ - chore(release): bump version to 1.12.0 [squeez-release-bot]
129
+ - docs(codex): update adapter comments and README for 0.123.0 hook surface
130
+ - docs: update changelog and benchmarks for v1.11.2
131
+ - chore(release): bump version to 1.11.2 [squeez-release-bot]
132
+ - docs: update changelog and benchmarks for v1.11.1
133
+ - chore(release): bump version to 1.11.1 [squeez-release-bot]
134
+ - docs: update changelog and benchmarks for v1.11.0
135
+ - chore(release): bump version to 1.11.0 [squeez-release-bot]
136
+ - docs: update changelog and benchmarks for v1.10.0
137
+ - docs: update changelog and benchmarks for v1.9.0
138
+ - chore(release): bump version to 1.10.0 [squeez-release-bot]
139
+ - docs(readme): document squeez's compression scope and architectural limits (#85)
140
+ - chore(release): bump version to 1.9.0 [squeez-release-bot]
141
+ - chore(release): bump version to 1.8.0 [squeez-release-bot]
142
+ - docs: update changelog and benchmarks for v1.7.7
143
+ - chore(release): bump version to 1.7.7 [squeez-release-bot]
144
+ - docs: update changelog and benchmarks for v1.7.6
145
+ - chore(release): bump version to 1.7.6 [squeez-release-bot]
146
+ - docs: update changelog and benchmarks for v1.7.5
147
+ - chore(release): bump version to 1.7.5 [squeez-release-bot]
148
+ - docs: update changelog and benchmarks for v1.7.4
149
+ - chore(release): bump version to 1.7.4 [squeez-release-bot]
150
+ - perf: O(log n) refactor — tail read, offset index, single-pass parser
151
+ - docs: update changelog and benchmarks for v1.7.3
152
+ - chore(release): bump version to 1.7.3 [squeez-release-bot]
153
+ - chore(release): bump version to 1.7.2 [squeez-release-bot]
154
+ - restore: revert accidental deletion of auto-release.yml workflow
155
+ - docs: update changelog and benchmarks for v1.7.1
156
+ - chore(release): bump version to 1.7.1 [squeez-release-bot]
157
+ - chore: relicense to Apache 2.0 + add DCO policy + banner (#76)
158
+ - docs: update changelog and benchmarks for v1.7.0
159
+ - chore(release): bump version to 1.7.0 [squeez-release-bot]
160
+ - docs: update changelog and benchmarks for v1.6.1
161
+ - chore(release): bump version to 1.6.1 [squeez-release-bot]
162
+ - docs: update changelog and benchmarks for v1.6.0
163
+ - chore(release): bump version to 1.6.0 [squeez-release-bot]
164
+ - docs: update changelog and benchmarks for v1.5.2
165
+ - chore(release): bump version to 1.5.2 [squeez-release-bot]
166
+ - chore(release): bump version to 1.5.1 [squeez-release-bot]
167
+ - docs: five-host matrix + squeez setup/uninstall flow (#63)
168
+ - refactor(install): delegate host registration to 'squeez setup' (#60)
169
+ - chore(release): bump version to 1.5.0 [squeez-release-bot]
170
+ - chore(release): bump version to 1.4.0 [squeez-release-bot]
171
+ - chore(release): bump version to 1.3.0 [squeez-release-bot]
172
+ - chore(release): bump version to 1.2.0 [squeez-release-bot]
173
+ - chore(release): bump version to 1.1.0 [squeez-release-bot]
174
+ - chore(release): bump version to 1.0.0 [skip release]
175
+ - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42)
176
+ - ci: conventional-commit-driven auto-release (#40)
177
+ - chore(gov): issue-form templates + refined PR template (#39)
178
+ - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33)
179
+ - chore(release): bump version to 0.4.1
180
+ - chore(release): bump version to 0.4.0
181
+ - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30)
182
+ - chore: bump version to 0.3.2
183
+ - docs: add shields.io badge for changelog link
184
+ - chore: bump version to 0.3.1
185
+ - chore: bump version to 0.2.3
186
+ - docs: update README with 11 MCP tools, structured memory, and advanced tunables
187
+ - chore: bump version to 0.2.2
188
+ - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
189
+ - chore: refresh bench/report.md from latest run [skip release]
190
+ - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
191
+ - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
192
+ - chore: bump version to 0.2.0; add Cargo.toml metadata
193
+ - ci: PR template, linked-issue enforcement, no-claude-trailer check
194
+ - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
195
+ - ci: auto-delete branches after PR merge
196
+ - docs: update Windows installation instructions and prerequisites in README
197
+ - docs: add Windows support and Rust install instructions to README
198
+ - refactor: use session::home_dir() in config and init (Windows compat)
199
+ - ci: trigger promote workflow (test)
200
+ - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
201
+ - docs(readme): add changelog, contribution workflow, and benchmark notes
202
+ - ci(workflow): create/update PR from develop to main on push
203
+ - chore: add .worktrees/ to gitignore
204
+ - chore: add docs/ to gitignore (local design specs)
205
+ - docs: update README for GitHub Copilot CLI support
206
+ - security: fix remaining LOW findings in wrap.rs
207
+ - security: fix 2 follow-up findings from second audit
208
+ - security: fix all 8 findings from security audit
209
+ - ci: build and install binary before running benchmarks
210
+ - chore: add GitHub sponsor button
211
+ - chore: ignore .omc/ directory, remove from tracking
212
+ - chore: update benchmark report (7/7 passing)
213
+ - docs: update README — real benchmarks, Phase 2 config, how it works
214
+ - style: cargo fmt on session.rs and test_session.rs
215
+ - chore: open source files — README, LICENSE, CI/release workflows, install.sh
216
+ - chore: scaffold squeez Rust project
217
+
218
+ ### Fixed
219
+ - fix(release): make publish-npm non-blocking; add npm whoami diagnostic
220
+ - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143)
221
+ - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126)
222
+ - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124)
223
+ - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121)
224
+ - fix(claude-code): write hooks under settings.hooks.<event>, not at top level (#119)
225
+ - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115)
226
+ - fix(statusline): show compression % and fix Python heredoc expansion bug
227
+ - plan-mode passthrough + release description body (#95)
228
+ - fix(session-start): health check missed top-level event keys (#92)
229
+ - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86)
230
+ - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81)
231
+ - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83)
232
+ - prevent OOM from unbounded file reads + data integrity fixes
233
+ - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build
234
+ - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79)
235
+ - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78)
236
+ - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72)
237
+ - fix(ci): push release docs directly to main (loop-safe) (#68)
238
+ - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65)
239
+ - fix(ci): startsWith guard for auto-release recursion (#46)
240
+ - fix(ci): tighten auto-release bump detection + fix tag push (#44)
241
+ - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes
242
+ - fix(ci): skip publish gracefully when version already exists on crates.io/npm
243
+ - fix(ci): run update-docs even if publish jobs fail (already published)
244
+ - fix(ci): continue-on-error for publish jobs so update-docs always runs
245
+ - fix(ci): add pull-requests write permission to update-docs job
246
+ - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
247
+ - fix(ci): update-docs creates PR instead of pushing directly to protected main
248
+ - fix(npm): copy README.md into npm package before publish; add readme field
249
+ - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
250
+ - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
251
+ - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
252
+ - fix(ci): fix flaky test tmp dir collision + simplify auto-release
253
+ - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
254
+ - fix(ci): remove secrets in step if-conditions — check token inside script instead
255
+ - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
256
+ - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
257
+ - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
258
+ - fix(statusline): remove Ctx% — show only squeez compression metrics
259
+ - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
260
+ - resolve gap analysis — new handlers, wider redundancy window, token budget
261
+ - install.sh — clarify PostToolUse no-matcher intent, guard version echo
262
+ - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
263
+ - use ends_with for files_committed check in init finalize
264
+ - json_util — guard extract_u64 empty digit, add json_util test coverage
265
+ - add pre-flight binary check to bench/run.sh
266
+ - atomic settings.json write + uninstall safety guards
267
+ - harden pretooluse hook (shlex.quote, error handling, single path source)
268
+ - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
269
+
270
+ ## [1.22.1] - 2026-06-10
271
+
272
+ ### Added
273
+ - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration
274
+ - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135)
275
+ - feat(benchmark): add information-preservation guard against output-token inflation (#133)
276
+ - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134)
277
+ - feat(sig-mode): preserve attribute / decorator above kept signatures (#137)
278
+ - feat(economy): auto-curation nudges + cross-session handler stats (#118)
279
+ - feat(hosts): add Pi adapter (#116)
280
+ - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps
281
+ - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios
282
+ - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102)
283
+ - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101)
284
+ - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100)
285
+ - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+)
286
+ - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90)
287
+ - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88)
288
+ - feat(economy): compress Agent/Task prompt at PreToolUse time (#87)
289
+ - feat(handlers): xcodebuild noise filter + log-file tail detection (#84)
290
+ - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74)
291
+ - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70)
292
+ - feat(setup): adapter-driven setup/uninstall across all hosts (#58)
293
+ - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55)
294
+ - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52)
295
+ - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48)
296
+ - wrangler, playwright, next build handlers + bun/drizzle routing (#34)
297
+ - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort
298
+ - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
299
+ - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
300
+ - structured session memory, cross-session search, error snippets, configurable tunables
301
+ - feat(setup): create config.ini on first install
302
+ - feat(i18n): locale-aware compress-md with pt-BR support (#25)
303
+ - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
304
+ - Windows setup via cargo/npm + squeez update fix
305
+ - feat(benchmark): add squeez benchmark command with 19-scenario test suite
306
+ - feat(ci): re-add promote-develop workflow with correct registration
307
+ - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
308
+ - feat(npm+crates): add npm package and publish jobs to release workflow
309
+ - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
310
+ - compress-md, caveman persona, squeez update, track-result hook
311
+ - feat(context): adaptive intensity always picks Ultra
312
+ - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
313
+ - add Windows support to install.sh and release.yml
314
+ - add home_dir() helper with USERPROFILE fallback for Windows
315
+ - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
316
+ - add GitHub Copilot CLI support
317
+ - add OpenCode plugin for automatic Bash compression
318
+ - add universal installer support for macOS and Linux
319
+ - expand benchmarks, edge-case tests, and README polish
320
+ - add SessionStart + PostToolUse hooks, update install.sh and README
321
+ - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
322
+ - squeez init — session start, prior memory banner, session finalization (TDD)
323
+ - squeez track — token accumulation + session event log (TDD)
324
+ - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
325
+ - session.rs — CurrentSession, append_event, date math (TDD)
326
+ - json_util helpers + compact_threshold_tokens, memory_retention_days config
327
+ - benchmark system — all fixtures passing
328
+ - build.sh compiles + installs squeez, registers hook
329
+ - PreToolUse hook script
330
+ - fs and runtime handlers — all handler tests passing
331
+ - cloud, database, network handlers (TDD)
332
+ - typescript and build handlers (TDD)
333
+ - package_mgr and test_runner handlers (TDD)
334
+ - git and docker handlers (TDD)
335
+ - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
336
+ - Handler trait with cmd+config, generic handler, command router, filter_stdin
337
+ - truncation strategy (TDD) — all strategy tests passing
338
+ - grouping strategy (TDD)
339
+ - dedup strategy (TDD)
340
+ - smart_filter strategy with node_modules frame removal (TDD)
341
+ - implement config.ini parser (TDD)
342
+
343
+ ### Changed
344
+ - chore(release): bump version to 1.22.1 [squeez-release-bot]
345
+ - docs: update changelog and benchmarks for v1.22.0
346
+ - chore(release): bump version to 1.22.0 [squeez-release-bot]
347
+ - docs: update changelog and benchmarks for v1.21.1
348
+ - chore(release): bump version to 1.21.1 [squeez-release-bot]
349
+ - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142)
350
+ - docs: update changelog and benchmarks for v1.21.0
351
+ - chore(release): bump version to 1.21.0 [squeez-release-bot]
352
+ - docs: update changelog and benchmarks for v1.20.0
353
+ - chore(release): bump version to 1.20.0 [squeez-release-bot]
354
+ - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138)
355
+ - test(cache): lock in byte-stability of MCP and protocol payloads (#136)
356
+ - docs: update changelog and benchmarks for v1.19.4
357
+ - chore(release): bump version to 1.19.4 [squeez-release-bot]
358
+ - docs: update changelog and benchmarks for v1.19.3
359
+ - chore(release): bump version to 1.19.3 [squeez-release-bot]
360
+ - docs: update changelog and benchmarks for v1.19.2
361
+ - chore(release): bump version to 1.19.2 [squeez-release-bot]
362
+ - docs: update changelog and benchmarks for v1.19.1
363
+ - chore(release): bump version to 1.19.1 [squeez-release-bot]
364
+ - docs: update changelog and benchmarks for v1.19.0
365
+ - chore(release): bump version to 1.19.0 [squeez-release-bot]
366
+ - docs: update changelog and benchmarks for v1.18.1
367
+ - chore(release): bump version to 1.18.1 [squeez-release-bot]
368
+ - docs: update changelog and benchmarks for v1.18.0
369
+ - chore(release): bump version to 1.18.0 [squeez-release-bot]
370
+ - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111)
371
+ - docs: update changelog and benchmarks for v1.17.0
372
+ - chore(release): bump version to 1.17.0 [squeez-release-bot]
373
+ - docs: update changelog and benchmarks for v1.16.0
374
+ - chore(release): bump version to 1.16.0 [squeez-release-bot]
375
+ - docs: update changelog and benchmarks for v1.15.1
376
+ - chore(release): bump version to 1.15.1 [squeez-release-bot]
377
+ - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108)
378
+ - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106)
379
+ - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103)
380
+ - docs: update changelog and benchmarks for v1.15.0
381
+ - chore(release): bump version to 1.15.0 [squeez-release-bot]
382
+ - docs: update changelog and benchmarks for v1.13.0
383
+ - chore(release): bump version to 1.14.0 [squeez-release-bot]
384
+ - chore(release): bump version to 1.13.0 [squeez-release-bot]
385
+ - docs: update changelog and benchmarks for v1.12.0
386
+ - chore(release): bump version to 1.12.0 [squeez-release-bot]
387
+ - docs(codex): update adapter comments and README for 0.123.0 hook surface
388
+ - docs: update changelog and benchmarks for v1.11.2
389
+ - chore(release): bump version to 1.11.2 [squeez-release-bot]
390
+ - docs: update changelog and benchmarks for v1.11.1
391
+ - chore(release): bump version to 1.11.1 [squeez-release-bot]
392
+ - docs: update changelog and benchmarks for v1.11.0
393
+ - chore(release): bump version to 1.11.0 [squeez-release-bot]
394
+ - docs: update changelog and benchmarks for v1.10.0
395
+ - docs: update changelog and benchmarks for v1.9.0
396
+ - chore(release): bump version to 1.10.0 [squeez-release-bot]
397
+ - docs(readme): document squeez's compression scope and architectural limits (#85)
398
+ - chore(release): bump version to 1.9.0 [squeez-release-bot]
399
+ - chore(release): bump version to 1.8.0 [squeez-release-bot]
400
+ - docs: update changelog and benchmarks for v1.7.7
401
+ - chore(release): bump version to 1.7.7 [squeez-release-bot]
402
+ - docs: update changelog and benchmarks for v1.7.6
403
+ - chore(release): bump version to 1.7.6 [squeez-release-bot]
404
+ - docs: update changelog and benchmarks for v1.7.5
405
+ - chore(release): bump version to 1.7.5 [squeez-release-bot]
406
+ - docs: update changelog and benchmarks for v1.7.4
407
+ - chore(release): bump version to 1.7.4 [squeez-release-bot]
408
+ - perf: O(log n) refactor — tail read, offset index, single-pass parser
409
+ - docs: update changelog and benchmarks for v1.7.3
410
+ - chore(release): bump version to 1.7.3 [squeez-release-bot]
411
+ - chore(release): bump version to 1.7.2 [squeez-release-bot]
412
+ - restore: revert accidental deletion of auto-release.yml workflow
413
+ - docs: update changelog and benchmarks for v1.7.1
414
+ - chore(release): bump version to 1.7.1 [squeez-release-bot]
415
+ - chore: relicense to Apache 2.0 + add DCO policy + banner (#76)
416
+ - docs: update changelog and benchmarks for v1.7.0
417
+ - chore(release): bump version to 1.7.0 [squeez-release-bot]
418
+ - docs: update changelog and benchmarks for v1.6.1
419
+ - chore(release): bump version to 1.6.1 [squeez-release-bot]
420
+ - docs: update changelog and benchmarks for v1.6.0
421
+ - chore(release): bump version to 1.6.0 [squeez-release-bot]
422
+ - docs: update changelog and benchmarks for v1.5.2
423
+ - chore(release): bump version to 1.5.2 [squeez-release-bot]
424
+ - chore(release): bump version to 1.5.1 [squeez-release-bot]
425
+ - docs: five-host matrix + squeez setup/uninstall flow (#63)
426
+ - refactor(install): delegate host registration to 'squeez setup' (#60)
427
+ - chore(release): bump version to 1.5.0 [squeez-release-bot]
428
+ - chore(release): bump version to 1.4.0 [squeez-release-bot]
429
+ - chore(release): bump version to 1.3.0 [squeez-release-bot]
430
+ - chore(release): bump version to 1.2.0 [squeez-release-bot]
431
+ - chore(release): bump version to 1.1.0 [squeez-release-bot]
432
+ - chore(release): bump version to 1.0.0 [skip release]
433
+ - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42)
434
+ - ci: conventional-commit-driven auto-release (#40)
435
+ - chore(gov): issue-form templates + refined PR template (#39)
436
+ - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33)
437
+ - chore(release): bump version to 0.4.1
438
+ - chore(release): bump version to 0.4.0
439
+ - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30)
440
+ - chore: bump version to 0.3.2
441
+ - docs: add shields.io badge for changelog link
442
+ - chore: bump version to 0.3.1
443
+ - chore: bump version to 0.2.3
444
+ - docs: update README with 11 MCP tools, structured memory, and advanced tunables
445
+ - chore: bump version to 0.2.2
446
+ - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
447
+ - chore: refresh bench/report.md from latest run [skip release]
448
+ - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
449
+ - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
450
+ - chore: bump version to 0.2.0; add Cargo.toml metadata
451
+ - ci: PR template, linked-issue enforcement, no-claude-trailer check
452
+ - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
453
+ - ci: auto-delete branches after PR merge
454
+ - docs: update Windows installation instructions and prerequisites in README
455
+ - docs: add Windows support and Rust install instructions to README
456
+ - refactor: use session::home_dir() in config and init (Windows compat)
457
+ - ci: trigger promote workflow (test)
458
+ - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
459
+ - docs(readme): add changelog, contribution workflow, and benchmark notes
460
+ - ci(workflow): create/update PR from develop to main on push
461
+ - chore: add .worktrees/ to gitignore
462
+ - chore: add docs/ to gitignore (local design specs)
463
+ - docs: update README for GitHub Copilot CLI support
464
+ - security: fix remaining LOW findings in wrap.rs
465
+ - security: fix 2 follow-up findings from second audit
466
+ - security: fix all 8 findings from security audit
467
+ - ci: build and install binary before running benchmarks
468
+ - chore: add GitHub sponsor button
469
+ - chore: ignore .omc/ directory, remove from tracking
470
+ - chore: update benchmark report (7/7 passing)
471
+ - docs: update README — real benchmarks, Phase 2 config, how it works
472
+ - style: cargo fmt on session.rs and test_session.rs
473
+ - chore: open source files — README, LICENSE, CI/release workflows, install.sh
474
+ - chore: scaffold squeez Rust project
475
+
476
+ ### Fixed
477
+ - fix(release): make publish-npm non-blocking; add npm whoami diagnostic
478
+ - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143)
479
+ - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126)
480
+ - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124)
481
+ - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121)
482
+ - fix(claude-code): write hooks under settings.hooks.<event>, not at top level (#119)
483
+ - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115)
484
+ - fix(statusline): show compression % and fix Python heredoc expansion bug
485
+ - plan-mode passthrough + release description body (#95)
486
+ - fix(session-start): health check missed top-level event keys (#92)
487
+ - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86)
488
+ - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81)
489
+ - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83)
490
+ - prevent OOM from unbounded file reads + data integrity fixes
491
+ - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build
492
+ - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79)
493
+ - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78)
494
+ - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72)
495
+ - fix(ci): push release docs directly to main (loop-safe) (#68)
496
+ - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65)
497
+ - fix(ci): startsWith guard for auto-release recursion (#46)
498
+ - fix(ci): tighten auto-release bump detection + fix tag push (#44)
499
+ - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes
500
+ - fix(ci): skip publish gracefully when version already exists on crates.io/npm
501
+ - fix(ci): run update-docs even if publish jobs fail (already published)
502
+ - fix(ci): continue-on-error for publish jobs so update-docs always runs
503
+ - fix(ci): add pull-requests write permission to update-docs job
504
+ - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
505
+ - fix(ci): update-docs creates PR instead of pushing directly to protected main
506
+ - fix(npm): copy README.md into npm package before publish; add readme field
507
+ - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
508
+ - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
509
+ - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
510
+ - fix(ci): fix flaky test tmp dir collision + simplify auto-release
511
+ - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
512
+ - fix(ci): remove secrets in step if-conditions — check token inside script instead
513
+ - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
514
+ - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
515
+ - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
516
+ - fix(statusline): remove Ctx% — show only squeez compression metrics
517
+ - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
518
+ - resolve gap analysis — new handlers, wider redundancy window, token budget
519
+ - install.sh — clarify PostToolUse no-matcher intent, guard version echo
520
+ - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
521
+ - use ends_with for files_committed check in init finalize
522
+ - json_util — guard extract_u64 empty digit, add json_util test coverage
523
+ - add pre-flight binary check to bench/run.sh
524
+ - atomic settings.json write + uninstall safety guards
525
+ - harden pretooluse hook (shlex.quote, error handling, single path source)
526
+ - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
527
+
528
+ ## [1.22.1] - 2026-06-10
529
+
530
+ ### Added
531
+ - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration
532
+ - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135)
533
+ - feat(benchmark): add information-preservation guard against output-token inflation (#133)
534
+ - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134)
535
+ - feat(sig-mode): preserve attribute / decorator above kept signatures (#137)
536
+ - feat(economy): auto-curation nudges + cross-session handler stats (#118)
537
+ - feat(hosts): add Pi adapter (#116)
538
+ - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps
539
+ - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios
540
+ - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102)
541
+ - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101)
542
+ - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100)
543
+ - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+)
544
+ - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90)
545
+ - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88)
546
+ - feat(economy): compress Agent/Task prompt at PreToolUse time (#87)
547
+ - feat(handlers): xcodebuild noise filter + log-file tail detection (#84)
548
+ - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74)
549
+ - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70)
550
+ - feat(setup): adapter-driven setup/uninstall across all hosts (#58)
551
+ - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55)
552
+ - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52)
553
+ - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48)
554
+ - wrangler, playwright, next build handlers + bun/drizzle routing (#34)
555
+ - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort
556
+ - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
557
+ - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
558
+ - structured session memory, cross-session search, error snippets, configurable tunables
559
+ - feat(setup): create config.ini on first install
560
+ - feat(i18n): locale-aware compress-md with pt-BR support (#25)
561
+ - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
562
+ - Windows setup via cargo/npm + squeez update fix
563
+ - feat(benchmark): add squeez benchmark command with 19-scenario test suite
564
+ - feat(ci): re-add promote-develop workflow with correct registration
565
+ - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
566
+ - feat(npm+crates): add npm package and publish jobs to release workflow
567
+ - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
568
+ - compress-md, caveman persona, squeez update, track-result hook
569
+ - feat(context): adaptive intensity always picks Ultra
570
+ - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
571
+ - add Windows support to install.sh and release.yml
572
+ - add home_dir() helper with USERPROFILE fallback for Windows
573
+ - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
574
+ - add GitHub Copilot CLI support
575
+ - add OpenCode plugin for automatic Bash compression
576
+ - add universal installer support for macOS and Linux
577
+ - expand benchmarks, edge-case tests, and README polish
578
+ - add SessionStart + PostToolUse hooks, update install.sh and README
579
+ - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
580
+ - squeez init — session start, prior memory banner, session finalization (TDD)
581
+ - squeez track — token accumulation + session event log (TDD)
582
+ - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
583
+ - session.rs — CurrentSession, append_event, date math (TDD)
584
+ - json_util helpers + compact_threshold_tokens, memory_retention_days config
585
+ - benchmark system — all fixtures passing
586
+ - build.sh compiles + installs squeez, registers hook
587
+ - PreToolUse hook script
588
+ - fs and runtime handlers — all handler tests passing
589
+ - cloud, database, network handlers (TDD)
590
+ - typescript and build handlers (TDD)
591
+ - package_mgr and test_runner handlers (TDD)
592
+ - git and docker handlers (TDD)
593
+ - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
594
+ - Handler trait with cmd+config, generic handler, command router, filter_stdin
595
+ - truncation strategy (TDD) — all strategy tests passing
596
+ - grouping strategy (TDD)
597
+ - dedup strategy (TDD)
598
+ - smart_filter strategy with node_modules frame removal (TDD)
599
+ - implement config.ini parser (TDD)
600
+
601
+ ### Changed
602
+ - chore(release): bump version to 1.22.1 [squeez-release-bot]
603
+ - docs: update changelog and benchmarks for v1.22.0
604
+ - chore(release): bump version to 1.22.0 [squeez-release-bot]
605
+ - docs: update changelog and benchmarks for v1.21.1
606
+ - chore(release): bump version to 1.21.1 [squeez-release-bot]
607
+ - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142)
608
+ - docs: update changelog and benchmarks for v1.21.0
609
+ - chore(release): bump version to 1.21.0 [squeez-release-bot]
610
+ - docs: update changelog and benchmarks for v1.20.0
611
+ - chore(release): bump version to 1.20.0 [squeez-release-bot]
612
+ - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138)
613
+ - test(cache): lock in byte-stability of MCP and protocol payloads (#136)
614
+ - docs: update changelog and benchmarks for v1.19.4
615
+ - chore(release): bump version to 1.19.4 [squeez-release-bot]
616
+ - docs: update changelog and benchmarks for v1.19.3
617
+ - chore(release): bump version to 1.19.3 [squeez-release-bot]
618
+ - docs: update changelog and benchmarks for v1.19.2
619
+ - chore(release): bump version to 1.19.2 [squeez-release-bot]
620
+ - docs: update changelog and benchmarks for v1.19.1
621
+ - chore(release): bump version to 1.19.1 [squeez-release-bot]
622
+ - docs: update changelog and benchmarks for v1.19.0
623
+ - chore(release): bump version to 1.19.0 [squeez-release-bot]
624
+ - docs: update changelog and benchmarks for v1.18.1
625
+ - chore(release): bump version to 1.18.1 [squeez-release-bot]
626
+ - docs: update changelog and benchmarks for v1.18.0
627
+ - chore(release): bump version to 1.18.0 [squeez-release-bot]
628
+ - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111)
629
+ - docs: update changelog and benchmarks for v1.17.0
630
+ - chore(release): bump version to 1.17.0 [squeez-release-bot]
631
+ - docs: update changelog and benchmarks for v1.16.0
632
+ - chore(release): bump version to 1.16.0 [squeez-release-bot]
633
+ - docs: update changelog and benchmarks for v1.15.1
634
+ - chore(release): bump version to 1.15.1 [squeez-release-bot]
635
+ - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108)
636
+ - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106)
637
+ - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103)
638
+ - docs: update changelog and benchmarks for v1.15.0
639
+ - chore(release): bump version to 1.15.0 [squeez-release-bot]
640
+ - docs: update changelog and benchmarks for v1.13.0
641
+ - chore(release): bump version to 1.14.0 [squeez-release-bot]
642
+ - chore(release): bump version to 1.13.0 [squeez-release-bot]
643
+ - docs: update changelog and benchmarks for v1.12.0
644
+ - chore(release): bump version to 1.12.0 [squeez-release-bot]
645
+ - docs(codex): update adapter comments and README for 0.123.0 hook surface
646
+ - docs: update changelog and benchmarks for v1.11.2
647
+ - chore(release): bump version to 1.11.2 [squeez-release-bot]
648
+ - docs: update changelog and benchmarks for v1.11.1
649
+ - chore(release): bump version to 1.11.1 [squeez-release-bot]
650
+ - docs: update changelog and benchmarks for v1.11.0
651
+ - chore(release): bump version to 1.11.0 [squeez-release-bot]
652
+ - docs: update changelog and benchmarks for v1.10.0
653
+ - docs: update changelog and benchmarks for v1.9.0
654
+ - chore(release): bump version to 1.10.0 [squeez-release-bot]
655
+ - docs(readme): document squeez's compression scope and architectural limits (#85)
656
+ - chore(release): bump version to 1.9.0 [squeez-release-bot]
657
+ - chore(release): bump version to 1.8.0 [squeez-release-bot]
658
+ - docs: update changelog and benchmarks for v1.7.7
659
+ - chore(release): bump version to 1.7.7 [squeez-release-bot]
660
+ - docs: update changelog and benchmarks for v1.7.6
661
+ - chore(release): bump version to 1.7.6 [squeez-release-bot]
662
+ - docs: update changelog and benchmarks for v1.7.5
663
+ - chore(release): bump version to 1.7.5 [squeez-release-bot]
664
+ - docs: update changelog and benchmarks for v1.7.4
665
+ - chore(release): bump version to 1.7.4 [squeez-release-bot]
666
+ - perf: O(log n) refactor — tail read, offset index, single-pass parser
667
+ - docs: update changelog and benchmarks for v1.7.3
668
+ - chore(release): bump version to 1.7.3 [squeez-release-bot]
669
+ - chore(release): bump version to 1.7.2 [squeez-release-bot]
670
+ - restore: revert accidental deletion of auto-release.yml workflow
671
+ - docs: update changelog and benchmarks for v1.7.1
672
+ - chore(release): bump version to 1.7.1 [squeez-release-bot]
673
+ - chore: relicense to Apache 2.0 + add DCO policy + banner (#76)
674
+ - docs: update changelog and benchmarks for v1.7.0
675
+ - chore(release): bump version to 1.7.0 [squeez-release-bot]
676
+ - docs: update changelog and benchmarks for v1.6.1
677
+ - chore(release): bump version to 1.6.1 [squeez-release-bot]
678
+ - docs: update changelog and benchmarks for v1.6.0
679
+ - chore(release): bump version to 1.6.0 [squeez-release-bot]
680
+ - docs: update changelog and benchmarks for v1.5.2
681
+ - chore(release): bump version to 1.5.2 [squeez-release-bot]
682
+ - chore(release): bump version to 1.5.1 [squeez-release-bot]
683
+ - docs: five-host matrix + squeez setup/uninstall flow (#63)
684
+ - refactor(install): delegate host registration to 'squeez setup' (#60)
685
+ - chore(release): bump version to 1.5.0 [squeez-release-bot]
686
+ - chore(release): bump version to 1.4.0 [squeez-release-bot]
687
+ - chore(release): bump version to 1.3.0 [squeez-release-bot]
688
+ - chore(release): bump version to 1.2.0 [squeez-release-bot]
689
+ - chore(release): bump version to 1.1.0 [squeez-release-bot]
690
+ - chore(release): bump version to 1.0.0 [skip release]
691
+ - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42)
692
+ - ci: conventional-commit-driven auto-release (#40)
693
+ - chore(gov): issue-form templates + refined PR template (#39)
694
+ - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33)
695
+ - chore(release): bump version to 0.4.1
696
+ - chore(release): bump version to 0.4.0
697
+ - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30)
698
+ - chore: bump version to 0.3.2
699
+ - docs: add shields.io badge for changelog link
700
+ - chore: bump version to 0.3.1
701
+ - chore: bump version to 0.2.3
702
+ - docs: update README with 11 MCP tools, structured memory, and advanced tunables
703
+ - chore: bump version to 0.2.2
704
+ - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
705
+ - chore: refresh bench/report.md from latest run [skip release]
706
+ - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
707
+ - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
708
+ - chore: bump version to 0.2.0; add Cargo.toml metadata
709
+ - ci: PR template, linked-issue enforcement, no-claude-trailer check
710
+ - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
711
+ - ci: auto-delete branches after PR merge
712
+ - docs: update Windows installation instructions and prerequisites in README
713
+ - docs: add Windows support and Rust install instructions to README
714
+ - refactor: use session::home_dir() in config and init (Windows compat)
715
+ - ci: trigger promote workflow (test)
716
+ - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
717
+ - docs(readme): add changelog, contribution workflow, and benchmark notes
718
+ - ci(workflow): create/update PR from develop to main on push
719
+ - chore: add .worktrees/ to gitignore
720
+ - chore: add docs/ to gitignore (local design specs)
721
+ - docs: update README for GitHub Copilot CLI support
722
+ - security: fix remaining LOW findings in wrap.rs
723
+ - security: fix 2 follow-up findings from second audit
724
+ - security: fix all 8 findings from security audit
725
+ - ci: build and install binary before running benchmarks
726
+ - chore: add GitHub sponsor button
727
+ - chore: ignore .omc/ directory, remove from tracking
728
+ - chore: update benchmark report (7/7 passing)
729
+ - docs: update README — real benchmarks, Phase 2 config, how it works
730
+ - style: cargo fmt on session.rs and test_session.rs
731
+ - chore: open source files — README, LICENSE, CI/release workflows, install.sh
732
+ - chore: scaffold squeez Rust project
733
+
734
+ ### Fixed
735
+ - fix(release): make publish-npm non-blocking; add npm whoami diagnostic
736
+ - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143)
737
+ - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126)
738
+ - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124)
739
+ - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121)
740
+ - fix(claude-code): write hooks under settings.hooks.<event>, not at top level (#119)
741
+ - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115)
742
+ - fix(statusline): show compression % and fix Python heredoc expansion bug
743
+ - plan-mode passthrough + release description body (#95)
744
+ - fix(session-start): health check missed top-level event keys (#92)
745
+ - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86)
746
+ - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81)
747
+ - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83)
748
+ - prevent OOM from unbounded file reads + data integrity fixes
749
+ - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build
750
+ - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79)
751
+ - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78)
752
+ - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72)
753
+ - fix(ci): push release docs directly to main (loop-safe) (#68)
754
+ - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65)
755
+ - fix(ci): startsWith guard for auto-release recursion (#46)
756
+ - fix(ci): tighten auto-release bump detection + fix tag push (#44)
757
+ - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes
758
+ - fix(ci): skip publish gracefully when version already exists on crates.io/npm
759
+ - fix(ci): run update-docs even if publish jobs fail (already published)
760
+ - fix(ci): continue-on-error for publish jobs so update-docs always runs
761
+ - fix(ci): add pull-requests write permission to update-docs job
762
+ - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
763
+ - fix(ci): update-docs creates PR instead of pushing directly to protected main
764
+ - fix(npm): copy README.md into npm package before publish; add readme field
765
+ - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
766
+ - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
767
+ - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
768
+ - fix(ci): fix flaky test tmp dir collision + simplify auto-release
769
+ - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
770
+ - fix(ci): remove secrets in step if-conditions — check token inside script instead
771
+ - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
772
+ - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
773
+ - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
774
+ - fix(statusline): remove Ctx% — show only squeez compression metrics
775
+ - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
776
+ - resolve gap analysis — new handlers, wider redundancy window, token budget
777
+ - install.sh — clarify PostToolUse no-matcher intent, guard version echo
778
+ - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
779
+ - use ends_with for files_committed check in init finalize
780
+ - json_util — guard extract_u64 empty digit, add json_util test coverage
781
+ - add pre-flight binary check to bench/run.sh
782
+ - atomic settings.json write + uninstall safety guards
783
+ - harden pretooluse hook (shlex.quote, error handling, single path source)
784
+ - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
785
+
786
+ ## [1.22.0] - 2026-06-10
787
+
788
+ ### Added
789
+ - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration
790
+ - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135)
791
+ - feat(benchmark): add information-preservation guard against output-token inflation (#133)
792
+ - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134)
793
+ - feat(sig-mode): preserve attribute / decorator above kept signatures (#137)
794
+ - feat(economy): auto-curation nudges + cross-session handler stats (#118)
795
+ - feat(hosts): add Pi adapter (#116)
796
+ - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps
797
+ - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios
798
+ - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102)
799
+ - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101)
800
+ - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100)
801
+ - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+)
802
+ - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90)
803
+ - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88)
804
+ - feat(economy): compress Agent/Task prompt at PreToolUse time (#87)
805
+ - feat(handlers): xcodebuild noise filter + log-file tail detection (#84)
806
+ - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74)
807
+ - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70)
808
+ - feat(setup): adapter-driven setup/uninstall across all hosts (#58)
809
+ - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55)
810
+ - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52)
811
+ - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48)
812
+ - wrangler, playwright, next build handlers + bun/drizzle routing (#34)
813
+ - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort
814
+ - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
815
+ - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
816
+ - structured session memory, cross-session search, error snippets, configurable tunables
817
+ - feat(setup): create config.ini on first install
818
+ - feat(i18n): locale-aware compress-md with pt-BR support (#25)
819
+ - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
820
+ - Windows setup via cargo/npm + squeez update fix
821
+ - feat(benchmark): add squeez benchmark command with 19-scenario test suite
822
+ - feat(ci): re-add promote-develop workflow with correct registration
823
+ - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
824
+ - feat(npm+crates): add npm package and publish jobs to release workflow
825
+ - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
826
+ - compress-md, caveman persona, squeez update, track-result hook
827
+ - feat(context): adaptive intensity always picks Ultra
828
+ - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
829
+ - add Windows support to install.sh and release.yml
830
+ - add home_dir() helper with USERPROFILE fallback for Windows
831
+ - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
832
+ - add GitHub Copilot CLI support
833
+ - add OpenCode plugin for automatic Bash compression
834
+ - add universal installer support for macOS and Linux
835
+ - expand benchmarks, edge-case tests, and README polish
836
+ - add SessionStart + PostToolUse hooks, update install.sh and README
837
+ - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
838
+ - squeez init — session start, prior memory banner, session finalization (TDD)
839
+ - squeez track — token accumulation + session event log (TDD)
840
+ - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
841
+ - session.rs — CurrentSession, append_event, date math (TDD)
842
+ - json_util helpers + compact_threshold_tokens, memory_retention_days config
843
+ - benchmark system — all fixtures passing
844
+ - build.sh compiles + installs squeez, registers hook
845
+ - PreToolUse hook script
846
+ - fs and runtime handlers — all handler tests passing
847
+ - cloud, database, network handlers (TDD)
848
+ - typescript and build handlers (TDD)
849
+ - package_mgr and test_runner handlers (TDD)
850
+ - git and docker handlers (TDD)
851
+ - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
852
+ - Handler trait with cmd+config, generic handler, command router, filter_stdin
853
+ - truncation strategy (TDD) — all strategy tests passing
854
+ - grouping strategy (TDD)
855
+ - dedup strategy (TDD)
856
+ - smart_filter strategy with node_modules frame removal (TDD)
857
+ - implement config.ini parser (TDD)
858
+
859
+ ### Changed
860
+ - chore(release): bump version to 1.22.0 [squeez-release-bot]
861
+ - docs: update changelog and benchmarks for v1.21.1
862
+ - chore(release): bump version to 1.21.1 [squeez-release-bot]
863
+ - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142)
864
+ - docs: update changelog and benchmarks for v1.21.0
865
+ - chore(release): bump version to 1.21.0 [squeez-release-bot]
866
+ - docs: update changelog and benchmarks for v1.20.0
867
+ - chore(release): bump version to 1.20.0 [squeez-release-bot]
868
+ - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138)
869
+ - test(cache): lock in byte-stability of MCP and protocol payloads (#136)
870
+ - docs: update changelog and benchmarks for v1.19.4
871
+ - chore(release): bump version to 1.19.4 [squeez-release-bot]
872
+ - docs: update changelog and benchmarks for v1.19.3
873
+ - chore(release): bump version to 1.19.3 [squeez-release-bot]
874
+ - docs: update changelog and benchmarks for v1.19.2
875
+ - chore(release): bump version to 1.19.2 [squeez-release-bot]
876
+ - docs: update changelog and benchmarks for v1.19.1
877
+ - chore(release): bump version to 1.19.1 [squeez-release-bot]
878
+ - docs: update changelog and benchmarks for v1.19.0
879
+ - chore(release): bump version to 1.19.0 [squeez-release-bot]
880
+ - docs: update changelog and benchmarks for v1.18.1
881
+ - chore(release): bump version to 1.18.1 [squeez-release-bot]
882
+ - docs: update changelog and benchmarks for v1.18.0
883
+ - chore(release): bump version to 1.18.0 [squeez-release-bot]
884
+ - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111)
885
+ - docs: update changelog and benchmarks for v1.17.0
886
+ - chore(release): bump version to 1.17.0 [squeez-release-bot]
887
+ - docs: update changelog and benchmarks for v1.16.0
888
+ - chore(release): bump version to 1.16.0 [squeez-release-bot]
889
+ - docs: update changelog and benchmarks for v1.15.1
890
+ - chore(release): bump version to 1.15.1 [squeez-release-bot]
891
+ - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108)
892
+ - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106)
893
+ - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103)
894
+ - docs: update changelog and benchmarks for v1.15.0
895
+ - chore(release): bump version to 1.15.0 [squeez-release-bot]
896
+ - docs: update changelog and benchmarks for v1.13.0
897
+ - chore(release): bump version to 1.14.0 [squeez-release-bot]
898
+ - chore(release): bump version to 1.13.0 [squeez-release-bot]
899
+ - docs: update changelog and benchmarks for v1.12.0
900
+ - chore(release): bump version to 1.12.0 [squeez-release-bot]
901
+ - docs(codex): update adapter comments and README for 0.123.0 hook surface
902
+ - docs: update changelog and benchmarks for v1.11.2
903
+ - chore(release): bump version to 1.11.2 [squeez-release-bot]
904
+ - docs: update changelog and benchmarks for v1.11.1
905
+ - chore(release): bump version to 1.11.1 [squeez-release-bot]
906
+ - docs: update changelog and benchmarks for v1.11.0
907
+ - chore(release): bump version to 1.11.0 [squeez-release-bot]
908
+ - docs: update changelog and benchmarks for v1.10.0
909
+ - docs: update changelog and benchmarks for v1.9.0
910
+ - chore(release): bump version to 1.10.0 [squeez-release-bot]
911
+ - docs(readme): document squeez's compression scope and architectural limits (#85)
912
+ - chore(release): bump version to 1.9.0 [squeez-release-bot]
913
+ - chore(release): bump version to 1.8.0 [squeez-release-bot]
914
+ - docs: update changelog and benchmarks for v1.7.7
915
+ - chore(release): bump version to 1.7.7 [squeez-release-bot]
916
+ - docs: update changelog and benchmarks for v1.7.6
917
+ - chore(release): bump version to 1.7.6 [squeez-release-bot]
918
+ - docs: update changelog and benchmarks for v1.7.5
919
+ - chore(release): bump version to 1.7.5 [squeez-release-bot]
920
+ - docs: update changelog and benchmarks for v1.7.4
921
+ - chore(release): bump version to 1.7.4 [squeez-release-bot]
922
+ - perf: O(log n) refactor — tail read, offset index, single-pass parser
923
+ - docs: update changelog and benchmarks for v1.7.3
924
+ - chore(release): bump version to 1.7.3 [squeez-release-bot]
925
+ - chore(release): bump version to 1.7.2 [squeez-release-bot]
926
+ - restore: revert accidental deletion of auto-release.yml workflow
927
+ - docs: update changelog and benchmarks for v1.7.1
928
+ - chore(release): bump version to 1.7.1 [squeez-release-bot]
929
+ - chore: relicense to Apache 2.0 + add DCO policy + banner (#76)
930
+ - docs: update changelog and benchmarks for v1.7.0
931
+ - chore(release): bump version to 1.7.0 [squeez-release-bot]
932
+ - docs: update changelog and benchmarks for v1.6.1
933
+ - chore(release): bump version to 1.6.1 [squeez-release-bot]
934
+ - docs: update changelog and benchmarks for v1.6.0
935
+ - chore(release): bump version to 1.6.0 [squeez-release-bot]
936
+ - docs: update changelog and benchmarks for v1.5.2
937
+ - chore(release): bump version to 1.5.2 [squeez-release-bot]
938
+ - chore(release): bump version to 1.5.1 [squeez-release-bot]
939
+ - docs: five-host matrix + squeez setup/uninstall flow (#63)
940
+ - refactor(install): delegate host registration to 'squeez setup' (#60)
941
+ - chore(release): bump version to 1.5.0 [squeez-release-bot]
942
+ - chore(release): bump version to 1.4.0 [squeez-release-bot]
943
+ - chore(release): bump version to 1.3.0 [squeez-release-bot]
944
+ - chore(release): bump version to 1.2.0 [squeez-release-bot]
945
+ - chore(release): bump version to 1.1.0 [squeez-release-bot]
946
+ - chore(release): bump version to 1.0.0 [skip release]
947
+ - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42)
948
+ - ci: conventional-commit-driven auto-release (#40)
949
+ - chore(gov): issue-form templates + refined PR template (#39)
950
+ - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33)
951
+ - chore(release): bump version to 0.4.1
952
+ - chore(release): bump version to 0.4.0
953
+ - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30)
954
+ - chore: bump version to 0.3.2
955
+ - docs: add shields.io badge for changelog link
956
+ - chore: bump version to 0.3.1
957
+ - chore: bump version to 0.2.3
958
+ - docs: update README with 11 MCP tools, structured memory, and advanced tunables
959
+ - chore: bump version to 0.2.2
960
+ - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
961
+ - chore: refresh bench/report.md from latest run [skip release]
962
+ - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
963
+ - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
964
+ - chore: bump version to 0.2.0; add Cargo.toml metadata
965
+ - ci: PR template, linked-issue enforcement, no-claude-trailer check
966
+ - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
967
+ - ci: auto-delete branches after PR merge
968
+ - docs: update Windows installation instructions and prerequisites in README
969
+ - docs: add Windows support and Rust install instructions to README
970
+ - refactor: use session::home_dir() in config and init (Windows compat)
971
+ - ci: trigger promote workflow (test)
972
+ - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
973
+ - docs(readme): add changelog, contribution workflow, and benchmark notes
974
+ - ci(workflow): create/update PR from develop to main on push
975
+ - chore: add .worktrees/ to gitignore
976
+ - chore: add docs/ to gitignore (local design specs)
977
+ - docs: update README for GitHub Copilot CLI support
978
+ - security: fix remaining LOW findings in wrap.rs
979
+ - security: fix 2 follow-up findings from second audit
980
+ - security: fix all 8 findings from security audit
981
+ - ci: build and install binary before running benchmarks
982
+ - chore: add GitHub sponsor button
983
+ - chore: ignore .omc/ directory, remove from tracking
984
+ - chore: update benchmark report (7/7 passing)
985
+ - docs: update README — real benchmarks, Phase 2 config, how it works
986
+ - style: cargo fmt on session.rs and test_session.rs
987
+ - chore: open source files — README, LICENSE, CI/release workflows, install.sh
988
+ - chore: scaffold squeez Rust project
989
+
990
+ ### Fixed
991
+ - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143)
992
+ - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126)
993
+ - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124)
994
+ - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121)
995
+ - fix(claude-code): write hooks under settings.hooks.<event>, not at top level (#119)
996
+ - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115)
997
+ - fix(statusline): show compression % and fix Python heredoc expansion bug
998
+ - plan-mode passthrough + release description body (#95)
999
+ - fix(session-start): health check missed top-level event keys (#92)
1000
+ - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86)
1001
+ - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81)
1002
+ - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83)
1003
+ - prevent OOM from unbounded file reads + data integrity fixes
1004
+ - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build
1005
+ - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79)
1006
+ - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78)
1007
+ - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72)
1008
+ - fix(ci): push release docs directly to main (loop-safe) (#68)
1009
+ - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65)
1010
+ - fix(ci): startsWith guard for auto-release recursion (#46)
1011
+ - fix(ci): tighten auto-release bump detection + fix tag push (#44)
1012
+ - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes
1013
+ - fix(ci): skip publish gracefully when version already exists on crates.io/npm
1014
+ - fix(ci): run update-docs even if publish jobs fail (already published)
1015
+ - fix(ci): continue-on-error for publish jobs so update-docs always runs
1016
+ - fix(ci): add pull-requests write permission to update-docs job
1017
+ - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
1018
+ - fix(ci): update-docs creates PR instead of pushing directly to protected main
1019
+ - fix(npm): copy README.md into npm package before publish; add readme field
1020
+ - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
1021
+ - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
1022
+ - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
1023
+ - fix(ci): fix flaky test tmp dir collision + simplify auto-release
1024
+ - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
1025
+ - fix(ci): remove secrets in step if-conditions — check token inside script instead
1026
+ - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
1027
+ - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
1028
+ - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
1029
+ - fix(statusline): remove Ctx% — show only squeez compression metrics
1030
+ - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
1031
+ - resolve gap analysis — new handlers, wider redundancy window, token budget
1032
+ - install.sh — clarify PostToolUse no-matcher intent, guard version echo
1033
+ - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
1034
+ - use ends_with for files_committed check in init finalize
1035
+ - json_util — guard extract_u64 empty digit, add json_util test coverage
1036
+ - add pre-flight binary check to bench/run.sh
1037
+ - atomic settings.json write + uninstall safety guards
1038
+ - harden pretooluse hook (shlex.quote, error handling, single path source)
1039
+ - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
1040
+
1041
+ ## [1.21.1] - 2026-06-03
1042
+
1043
+ ### Added
1044
+ - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135)
1045
+ - feat(benchmark): add information-preservation guard against output-token inflation (#133)
1046
+ - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134)
1047
+ - feat(sig-mode): preserve attribute / decorator above kept signatures (#137)
1048
+ - feat(economy): auto-curation nudges + cross-session handler stats (#118)
1049
+ - feat(hosts): add Pi adapter (#116)
1050
+ - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps
1051
+ - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios
1052
+ - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102)
1053
+ - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101)
1054
+ - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100)
1055
+ - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+)
1056
+ - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90)
1057
+ - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88)
1058
+ - feat(economy): compress Agent/Task prompt at PreToolUse time (#87)
1059
+ - feat(handlers): xcodebuild noise filter + log-file tail detection (#84)
1060
+ - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74)
1061
+ - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70)
1062
+ - feat(setup): adapter-driven setup/uninstall across all hosts (#58)
1063
+ - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55)
1064
+ - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52)
1065
+ - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48)
1066
+ - wrangler, playwright, next build handlers + bun/drizzle routing (#34)
1067
+ - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort
1068
+ - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
1069
+ - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
1070
+ - structured session memory, cross-session search, error snippets, configurable tunables
1071
+ - feat(setup): create config.ini on first install
1072
+ - feat(i18n): locale-aware compress-md with pt-BR support (#25)
1073
+ - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
1074
+ - Windows setup via cargo/npm + squeez update fix
1075
+ - feat(benchmark): add squeez benchmark command with 19-scenario test suite
1076
+ - feat(ci): re-add promote-develop workflow with correct registration
1077
+ - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
1078
+ - feat(npm+crates): add npm package and publish jobs to release workflow
1079
+ - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
1080
+ - compress-md, caveman persona, squeez update, track-result hook
1081
+ - feat(context): adaptive intensity always picks Ultra
1082
+ - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
1083
+ - add Windows support to install.sh and release.yml
1084
+ - add home_dir() helper with USERPROFILE fallback for Windows
1085
+ - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
1086
+ - add GitHub Copilot CLI support
1087
+ - add OpenCode plugin for automatic Bash compression
1088
+ - add universal installer support for macOS and Linux
1089
+ - expand benchmarks, edge-case tests, and README polish
1090
+ - add SessionStart + PostToolUse hooks, update install.sh and README
1091
+ - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
1092
+ - squeez init — session start, prior memory banner, session finalization (TDD)
1093
+ - squeez track — token accumulation + session event log (TDD)
1094
+ - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
1095
+ - session.rs — CurrentSession, append_event, date math (TDD)
1096
+ - json_util helpers + compact_threshold_tokens, memory_retention_days config
1097
+ - benchmark system — all fixtures passing
1098
+ - build.sh compiles + installs squeez, registers hook
1099
+ - PreToolUse hook script
1100
+ - fs and runtime handlers — all handler tests passing
1101
+ - cloud, database, network handlers (TDD)
1102
+ - typescript and build handlers (TDD)
1103
+ - package_mgr and test_runner handlers (TDD)
1104
+ - git and docker handlers (TDD)
1105
+ - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
1106
+ - Handler trait with cmd+config, generic handler, command router, filter_stdin
1107
+ - truncation strategy (TDD) — all strategy tests passing
1108
+ - grouping strategy (TDD)
1109
+ - dedup strategy (TDD)
1110
+ - smart_filter strategy with node_modules frame removal (TDD)
1111
+ - implement config.ini parser (TDD)
1112
+
1113
+ ### Changed
1114
+ - chore(release): bump version to 1.21.1 [squeez-release-bot]
1115
+ - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142)
1116
+ - docs: update changelog and benchmarks for v1.21.0
1117
+ - chore(release): bump version to 1.21.0 [squeez-release-bot]
1118
+ - docs: update changelog and benchmarks for v1.20.0
1119
+ - chore(release): bump version to 1.20.0 [squeez-release-bot]
1120
+ - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138)
1121
+ - test(cache): lock in byte-stability of MCP and protocol payloads (#136)
1122
+ - docs: update changelog and benchmarks for v1.19.4
1123
+ - chore(release): bump version to 1.19.4 [squeez-release-bot]
1124
+ - docs: update changelog and benchmarks for v1.19.3
1125
+ - chore(release): bump version to 1.19.3 [squeez-release-bot]
1126
+ - docs: update changelog and benchmarks for v1.19.2
1127
+ - chore(release): bump version to 1.19.2 [squeez-release-bot]
1128
+ - docs: update changelog and benchmarks for v1.19.1
1129
+ - chore(release): bump version to 1.19.1 [squeez-release-bot]
1130
+ - docs: update changelog and benchmarks for v1.19.0
1131
+ - chore(release): bump version to 1.19.0 [squeez-release-bot]
1132
+ - docs: update changelog and benchmarks for v1.18.1
1133
+ - chore(release): bump version to 1.18.1 [squeez-release-bot]
1134
+ - docs: update changelog and benchmarks for v1.18.0
1135
+ - chore(release): bump version to 1.18.0 [squeez-release-bot]
1136
+ - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111)
1137
+ - docs: update changelog and benchmarks for v1.17.0
1138
+ - chore(release): bump version to 1.17.0 [squeez-release-bot]
1139
+ - docs: update changelog and benchmarks for v1.16.0
1140
+ - chore(release): bump version to 1.16.0 [squeez-release-bot]
1141
+ - docs: update changelog and benchmarks for v1.15.1
1142
+ - chore(release): bump version to 1.15.1 [squeez-release-bot]
1143
+ - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108)
1144
+ - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106)
1145
+ - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103)
1146
+ - docs: update changelog and benchmarks for v1.15.0
1147
+ - chore(release): bump version to 1.15.0 [squeez-release-bot]
1148
+ - docs: update changelog and benchmarks for v1.13.0
1149
+ - chore(release): bump version to 1.14.0 [squeez-release-bot]
1150
+ - chore(release): bump version to 1.13.0 [squeez-release-bot]
1151
+ - docs: update changelog and benchmarks for v1.12.0
1152
+ - chore(release): bump version to 1.12.0 [squeez-release-bot]
1153
+ - docs(codex): update adapter comments and README for 0.123.0 hook surface
1154
+ - docs: update changelog and benchmarks for v1.11.2
1155
+ - chore(release): bump version to 1.11.2 [squeez-release-bot]
1156
+ - docs: update changelog and benchmarks for v1.11.1
1157
+ - chore(release): bump version to 1.11.1 [squeez-release-bot]
1158
+ - docs: update changelog and benchmarks for v1.11.0
1159
+ - chore(release): bump version to 1.11.0 [squeez-release-bot]
1160
+ - docs: update changelog and benchmarks for v1.10.0
1161
+ - docs: update changelog and benchmarks for v1.9.0
1162
+ - chore(release): bump version to 1.10.0 [squeez-release-bot]
1163
+ - docs(readme): document squeez's compression scope and architectural limits (#85)
1164
+ - chore(release): bump version to 1.9.0 [squeez-release-bot]
1165
+ - chore(release): bump version to 1.8.0 [squeez-release-bot]
1166
+ - docs: update changelog and benchmarks for v1.7.7
1167
+ - chore(release): bump version to 1.7.7 [squeez-release-bot]
1168
+ - docs: update changelog and benchmarks for v1.7.6
1169
+ - chore(release): bump version to 1.7.6 [squeez-release-bot]
1170
+ - docs: update changelog and benchmarks for v1.7.5
1171
+ - chore(release): bump version to 1.7.5 [squeez-release-bot]
1172
+ - docs: update changelog and benchmarks for v1.7.4
1173
+ - chore(release): bump version to 1.7.4 [squeez-release-bot]
1174
+ - perf: O(log n) refactor — tail read, offset index, single-pass parser
1175
+ - docs: update changelog and benchmarks for v1.7.3
1176
+ - chore(release): bump version to 1.7.3 [squeez-release-bot]
1177
+ - chore(release): bump version to 1.7.2 [squeez-release-bot]
1178
+ - restore: revert accidental deletion of auto-release.yml workflow
1179
+ - docs: update changelog and benchmarks for v1.7.1
1180
+ - chore(release): bump version to 1.7.1 [squeez-release-bot]
1181
+ - chore: relicense to Apache 2.0 + add DCO policy + banner (#76)
1182
+ - docs: update changelog and benchmarks for v1.7.0
1183
+ - chore(release): bump version to 1.7.0 [squeez-release-bot]
1184
+ - docs: update changelog and benchmarks for v1.6.1
1185
+ - chore(release): bump version to 1.6.1 [squeez-release-bot]
1186
+ - docs: update changelog and benchmarks for v1.6.0
1187
+ - chore(release): bump version to 1.6.0 [squeez-release-bot]
1188
+ - docs: update changelog and benchmarks for v1.5.2
1189
+ - chore(release): bump version to 1.5.2 [squeez-release-bot]
1190
+ - chore(release): bump version to 1.5.1 [squeez-release-bot]
1191
+ - docs: five-host matrix + squeez setup/uninstall flow (#63)
1192
+ - refactor(install): delegate host registration to 'squeez setup' (#60)
1193
+ - chore(release): bump version to 1.5.0 [squeez-release-bot]
1194
+ - chore(release): bump version to 1.4.0 [squeez-release-bot]
1195
+ - chore(release): bump version to 1.3.0 [squeez-release-bot]
1196
+ - chore(release): bump version to 1.2.0 [squeez-release-bot]
1197
+ - chore(release): bump version to 1.1.0 [squeez-release-bot]
1198
+ - chore(release): bump version to 1.0.0 [skip release]
1199
+ - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42)
1200
+ - ci: conventional-commit-driven auto-release (#40)
1201
+ - chore(gov): issue-form templates + refined PR template (#39)
1202
+ - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33)
1203
+ - chore(release): bump version to 0.4.1
1204
+ - chore(release): bump version to 0.4.0
1205
+ - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30)
1206
+ - chore: bump version to 0.3.2
1207
+ - docs: add shields.io badge for changelog link
1208
+ - chore: bump version to 0.3.1
1209
+ - chore: bump version to 0.2.3
1210
+ - docs: update README with 11 MCP tools, structured memory, and advanced tunables
1211
+ - chore: bump version to 0.2.2
1212
+ - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
1213
+ - chore: refresh bench/report.md from latest run [skip release]
1214
+ - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
1215
+ - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
1216
+ - chore: bump version to 0.2.0; add Cargo.toml metadata
1217
+ - ci: PR template, linked-issue enforcement, no-claude-trailer check
1218
+ - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
1219
+ - ci: auto-delete branches after PR merge
1220
+ - docs: update Windows installation instructions and prerequisites in README
1221
+ - docs: add Windows support and Rust install instructions to README
1222
+ - refactor: use session::home_dir() in config and init (Windows compat)
1223
+ - ci: trigger promote workflow (test)
1224
+ - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
1225
+ - docs(readme): add changelog, contribution workflow, and benchmark notes
1226
+ - ci(workflow): create/update PR from develop to main on push
1227
+ - chore: add .worktrees/ to gitignore
1228
+ - chore: add docs/ to gitignore (local design specs)
1229
+ - docs: update README for GitHub Copilot CLI support
1230
+ - security: fix remaining LOW findings in wrap.rs
1231
+ - security: fix 2 follow-up findings from second audit
1232
+ - security: fix all 8 findings from security audit
1233
+ - ci: build and install binary before running benchmarks
1234
+ - chore: add GitHub sponsor button
1235
+ - chore: ignore .omc/ directory, remove from tracking
1236
+ - chore: update benchmark report (7/7 passing)
1237
+ - docs: update README — real benchmarks, Phase 2 config, how it works
1238
+ - style: cargo fmt on session.rs and test_session.rs
1239
+ - chore: open source files — README, LICENSE, CI/release workflows, install.sh
1240
+ - chore: scaffold squeez Rust project
1241
+
1242
+ ### Fixed
1243
+ - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143)
1244
+ - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126)
1245
+ - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124)
1246
+ - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121)
1247
+ - fix(claude-code): write hooks under settings.hooks.<event>, not at top level (#119)
1248
+ - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115)
1249
+ - fix(statusline): show compression % and fix Python heredoc expansion bug
1250
+ - plan-mode passthrough + release description body (#95)
1251
+ - fix(session-start): health check missed top-level event keys (#92)
1252
+ - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86)
1253
+ - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81)
1254
+ - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83)
1255
+ - prevent OOM from unbounded file reads + data integrity fixes
1256
+ - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build
1257
+ - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79)
1258
+ - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78)
1259
+ - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72)
1260
+ - fix(ci): push release docs directly to main (loop-safe) (#68)
1261
+ - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65)
1262
+ - fix(ci): startsWith guard for auto-release recursion (#46)
1263
+ - fix(ci): tighten auto-release bump detection + fix tag push (#44)
1264
+ - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes
1265
+ - fix(ci): skip publish gracefully when version already exists on crates.io/npm
1266
+ - fix(ci): run update-docs even if publish jobs fail (already published)
1267
+ - fix(ci): continue-on-error for publish jobs so update-docs always runs
1268
+ - fix(ci): add pull-requests write permission to update-docs job
1269
+ - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
1270
+ - fix(ci): update-docs creates PR instead of pushing directly to protected main
1271
+ - fix(npm): copy README.md into npm package before publish; add readme field
1272
+ - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
1273
+ - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
1274
+ - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
1275
+ - fix(ci): fix flaky test tmp dir collision + simplify auto-release
1276
+ - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
1277
+ - fix(ci): remove secrets in step if-conditions — check token inside script instead
1278
+ - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
1279
+ - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
1280
+ - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
1281
+ - fix(statusline): remove Ctx% — show only squeez compression metrics
1282
+ - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
1283
+ - resolve gap analysis — new handlers, wider redundancy window, token budget
1284
+ - install.sh — clarify PostToolUse no-matcher intent, guard version echo
1285
+ - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
1286
+ - use ends_with for files_committed check in init finalize
1287
+ - json_util — guard extract_u64 empty digit, add json_util test coverage
1288
+ - add pre-flight binary check to bench/run.sh
1289
+ - atomic settings.json write + uninstall safety guards
1290
+ - harden pretooluse hook (shlex.quote, error handling, single path source)
1291
+ - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
1292
+
1293
+ ## [1.21.0] - 2026-05-18
1294
+
1295
+ ### Added
1296
+ - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135)
1297
+ - feat(benchmark): add information-preservation guard against output-token inflation (#133)
1298
+ - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134)
1299
+ - feat(sig-mode): preserve attribute / decorator above kept signatures (#137)
1300
+ - feat(economy): auto-curation nudges + cross-session handler stats (#118)
1301
+ - feat(hosts): add Pi adapter (#116)
1302
+ - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps
1303
+ - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios
1304
+ - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102)
1305
+ - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101)
1306
+ - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100)
1307
+ - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+)
1308
+ - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90)
1309
+ - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88)
1310
+ - feat(economy): compress Agent/Task prompt at PreToolUse time (#87)
1311
+ - feat(handlers): xcodebuild noise filter + log-file tail detection (#84)
1312
+ - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74)
1313
+ - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70)
1314
+ - feat(setup): adapter-driven setup/uninstall across all hosts (#58)
1315
+ - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55)
1316
+ - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52)
1317
+ - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48)
1318
+ - wrangler, playwright, next build handlers + bun/drizzle routing (#34)
1319
+ - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort
1320
+ - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29)
1321
+ - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install
1322
+ - structured session memory, cross-session search, error snippets, configurable tunables
1323
+ - feat(setup): create config.ini on first install
1324
+ - feat(i18n): locale-aware compress-md with pt-BR support (#25)
1325
+ - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload
1326
+ - Windows setup via cargo/npm + squeez update fix
1327
+ - feat(benchmark): add squeez benchmark command with 19-scenario test suite
1328
+ - feat(ci): re-add promote-develop workflow with correct registration
1329
+ - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start
1330
+ - feat(npm+crates): add npm package and publish jobs to release workflow
1331
+ - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats
1332
+ - compress-md, caveman persona, squeez update, track-result hook
1333
+ - feat(context): adaptive intensity always picks Ultra
1334
+ - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback
1335
+ - add Windows support to install.sh and release.yml
1336
+ - add home_dir() helper with USERPROFILE fallback for Windows
1337
+ - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only
1338
+ - add GitHub Copilot CLI support
1339
+ - add OpenCode plugin for automatic Bash compression
1340
+ - add universal installer support for macOS and Linux
1341
+ - expand benchmarks, edge-case tests, and README polish
1342
+ - add SessionStart + PostToolUse hooks, update install.sh and README
1343
+ - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header
1344
+ - squeez init — session start, prior memory banner, session finalization (TDD)
1345
+ - squeez track — token accumulation + session event log (TDD)
1346
+ - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD)
1347
+ - session.rs — CurrentSession, append_event, date math (TDD)
1348
+ - json_util helpers + compact_threshold_tokens, memory_retention_days config
1349
+ - benchmark system — all fixtures passing
1350
+ - build.sh compiles + installs squeez, registers hook
1351
+ - PreToolUse hook script
1352
+ - fs and runtime handlers — all handler tests passing
1353
+ - cloud, database, network handlers (TDD)
1354
+ - typescript and build handlers (TDD)
1355
+ - package_mgr and test_runner handlers (TDD)
1356
+ - git and docker handlers (TDD)
1357
+ - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check
1358
+ - Handler trait with cmd+config, generic handler, command router, filter_stdin
1359
+ - truncation strategy (TDD) — all strategy tests passing
1360
+ - grouping strategy (TDD)
1361
+ - dedup strategy (TDD)
1362
+ - smart_filter strategy with node_modules frame removal (TDD)
1363
+ - implement config.ini parser (TDD)
1364
+
1365
+ ### Changed
1366
+ - chore(release): bump version to 1.21.0 [squeez-release-bot]
1367
+ - docs: update changelog and benchmarks for v1.20.0
1368
+ - chore(release): bump version to 1.20.0 [squeez-release-bot]
1369
+ - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138)
1370
+ - test(cache): lock in byte-stability of MCP and protocol payloads (#136)
1371
+ - docs: update changelog and benchmarks for v1.19.4
1372
+ - chore(release): bump version to 1.19.4 [squeez-release-bot]
1373
+ - docs: update changelog and benchmarks for v1.19.3
1374
+ - chore(release): bump version to 1.19.3 [squeez-release-bot]
1375
+ - docs: update changelog and benchmarks for v1.19.2
1376
+ - chore(release): bump version to 1.19.2 [squeez-release-bot]
1377
+ - docs: update changelog and benchmarks for v1.19.1
1378
+ - chore(release): bump version to 1.19.1 [squeez-release-bot]
1379
+ - docs: update changelog and benchmarks for v1.19.0
1380
+ - chore(release): bump version to 1.19.0 [squeez-release-bot]
1381
+ - docs: update changelog and benchmarks for v1.18.1
1382
+ - chore(release): bump version to 1.18.1 [squeez-release-bot]
1383
+ - docs: update changelog and benchmarks for v1.18.0
1384
+ - chore(release): bump version to 1.18.0 [squeez-release-bot]
1385
+ - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111)
1386
+ - docs: update changelog and benchmarks for v1.17.0
1387
+ - chore(release): bump version to 1.17.0 [squeez-release-bot]
1388
+ - docs: update changelog and benchmarks for v1.16.0
1389
+ - chore(release): bump version to 1.16.0 [squeez-release-bot]
1390
+ - docs: update changelog and benchmarks for v1.15.1
1391
+ - chore(release): bump version to 1.15.1 [squeez-release-bot]
1392
+ - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108)
1393
+ - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106)
1394
+ - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103)
1395
+ - docs: update changelog and benchmarks for v1.15.0
1396
+ - chore(release): bump version to 1.15.0 [squeez-release-bot]
1397
+ - docs: update changelog and benchmarks for v1.13.0
1398
+ - chore(release): bump version to 1.14.0 [squeez-release-bot]
1399
+ - chore(release): bump version to 1.13.0 [squeez-release-bot]
1400
+ - docs: update changelog and benchmarks for v1.12.0
1401
+ - chore(release): bump version to 1.12.0 [squeez-release-bot]
1402
+ - docs(codex): update adapter comments and README for 0.123.0 hook surface
1403
+ - docs: update changelog and benchmarks for v1.11.2
1404
+ - chore(release): bump version to 1.11.2 [squeez-release-bot]
1405
+ - docs: update changelog and benchmarks for v1.11.1
1406
+ - chore(release): bump version to 1.11.1 [squeez-release-bot]
1407
+ - docs: update changelog and benchmarks for v1.11.0
1408
+ - chore(release): bump version to 1.11.0 [squeez-release-bot]
1409
+ - docs: update changelog and benchmarks for v1.10.0
1410
+ - docs: update changelog and benchmarks for v1.9.0
1411
+ - chore(release): bump version to 1.10.0 [squeez-release-bot]
1412
+ - docs(readme): document squeez's compression scope and architectural limits (#85)
1413
+ - chore(release): bump version to 1.9.0 [squeez-release-bot]
1414
+ - chore(release): bump version to 1.8.0 [squeez-release-bot]
1415
+ - docs: update changelog and benchmarks for v1.7.7
1416
+ - chore(release): bump version to 1.7.7 [squeez-release-bot]
1417
+ - docs: update changelog and benchmarks for v1.7.6
1418
+ - chore(release): bump version to 1.7.6 [squeez-release-bot]
1419
+ - docs: update changelog and benchmarks for v1.7.5
1420
+ - chore(release): bump version to 1.7.5 [squeez-release-bot]
1421
+ - docs: update changelog and benchmarks for v1.7.4
1422
+ - chore(release): bump version to 1.7.4 [squeez-release-bot]
1423
+ - perf: O(log n) refactor — tail read, offset index, single-pass parser
1424
+ - docs: update changelog and benchmarks for v1.7.3
1425
+ - chore(release): bump version to 1.7.3 [squeez-release-bot]
1426
+ - chore(release): bump version to 1.7.2 [squeez-release-bot]
1427
+ - restore: revert accidental deletion of auto-release.yml workflow
1428
+ - docs: update changelog and benchmarks for v1.7.1
1429
+ - chore(release): bump version to 1.7.1 [squeez-release-bot]
1430
+ - chore: relicense to Apache 2.0 + add DCO policy + banner (#76)
1431
+ - docs: update changelog and benchmarks for v1.7.0
1432
+ - chore(release): bump version to 1.7.0 [squeez-release-bot]
1433
+ - docs: update changelog and benchmarks for v1.6.1
1434
+ - chore(release): bump version to 1.6.1 [squeez-release-bot]
1435
+ - docs: update changelog and benchmarks for v1.6.0
1436
+ - chore(release): bump version to 1.6.0 [squeez-release-bot]
1437
+ - docs: update changelog and benchmarks for v1.5.2
1438
+ - chore(release): bump version to 1.5.2 [squeez-release-bot]
1439
+ - chore(release): bump version to 1.5.1 [squeez-release-bot]
1440
+ - docs: five-host matrix + squeez setup/uninstall flow (#63)
1441
+ - refactor(install): delegate host registration to 'squeez setup' (#60)
1442
+ - chore(release): bump version to 1.5.0 [squeez-release-bot]
1443
+ - chore(release): bump version to 1.4.0 [squeez-release-bot]
1444
+ - chore(release): bump version to 1.3.0 [squeez-release-bot]
1445
+ - chore(release): bump version to 1.2.0 [squeez-release-bot]
1446
+ - chore(release): bump version to 1.1.0 [squeez-release-bot]
1447
+ - chore(release): bump version to 1.0.0 [skip release]
1448
+ - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42)
1449
+ - ci: conventional-commit-driven auto-release (#40)
1450
+ - chore(gov): issue-form templates + refined PR template (#39)
1451
+ - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33)
1452
+ - chore(release): bump version to 0.4.1
1453
+ - chore(release): bump version to 0.4.0
1454
+ - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30)
1455
+ - chore: bump version to 0.3.2
1456
+ - docs: add shields.io badge for changelog link
1457
+ - chore: bump version to 0.3.1
1458
+ - chore: bump version to 0.2.3
1459
+ - docs: update README with 11 MCP tools, structured memory, and advanced tunables
1460
+ - chore: bump version to 0.2.2
1461
+ - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands
1462
+ - chore: refresh bench/report.md from latest run [skip release]
1463
+ - chore(ci): remove promote-develop workflow (re-adding to fix broken registration)
1464
+ - chore: bump version to 0.2.1 + auto-release on merge to main [skip release]
1465
+ - chore: bump version to 0.2.0; add Cargo.toml metadata
1466
+ - ci: PR template, linked-issue enforcement, no-claude-trailer check
1467
+ - docs: update README with PR1+PR2 features, fresh benchmarks, changelog
1468
+ - ci: auto-delete branches after PR merge
1469
+ - docs: update Windows installation instructions and prerequisites in README
1470
+ - docs: add Windows support and Rust install instructions to README
1471
+ - refactor: use session::home_dir() in config and init (Windows compat)
1472
+ - ci: trigger promote workflow (test)
1473
+ - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance
1474
+ - docs(readme): add changelog, contribution workflow, and benchmark notes
1475
+ - ci(workflow): create/update PR from develop to main on push
1476
+ - chore: add .worktrees/ to gitignore
1477
+ - chore: add docs/ to gitignore (local design specs)
1478
+ - docs: update README for GitHub Copilot CLI support
1479
+ - security: fix remaining LOW findings in wrap.rs
1480
+ - security: fix 2 follow-up findings from second audit
1481
+ - security: fix all 8 findings from security audit
1482
+ - ci: build and install binary before running benchmarks
1483
+ - chore: add GitHub sponsor button
1484
+ - chore: ignore .omc/ directory, remove from tracking
1485
+ - chore: update benchmark report (7/7 passing)
1486
+ - docs: update README — real benchmarks, Phase 2 config, how it works
1487
+ - style: cargo fmt on session.rs and test_session.rs
1488
+ - chore: open source files — README, LICENSE, CI/release workflows, install.sh
1489
+ - chore: scaffold squeez Rust project
1490
+
1491
+ ### Fixed
1492
+ - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126)
1493
+ - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124)
1494
+ - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121)
1495
+ - fix(claude-code): write hooks under settings.hooks.<event>, not at top level (#119)
1496
+ - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115)
1497
+ - fix(statusline): show compression % and fix Python heredoc expansion bug
1498
+ - plan-mode passthrough + release description body (#95)
1499
+ - fix(session-start): health check missed top-level event keys (#92)
1500
+ - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86)
1501
+ - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81)
1502
+ - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83)
1503
+ - prevent OOM from unbounded file reads + data integrity fixes
1504
+ - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build
1505
+ - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79)
1506
+ - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78)
1507
+ - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72)
1508
+ - fix(ci): push release docs directly to main (loop-safe) (#68)
1509
+ - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65)
1510
+ - fix(ci): startsWith guard for auto-release recursion (#46)
1511
+ - fix(ci): tighten auto-release bump detection + fix tag push (#44)
1512
+ - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes
1513
+ - fix(ci): skip publish gracefully when version already exists on crates.io/npm
1514
+ - fix(ci): run update-docs even if publish jobs fail (already published)
1515
+ - fix(ci): continue-on-error for publish jobs so update-docs always runs
1516
+ - fix(ci): add pull-requests write permission to update-docs job
1517
+ - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27)
1518
+ - fix(ci): update-docs creates PR instead of pushing directly to protected main
1519
+ - fix(npm): copy README.md into npm package before publish; add readme field
1520
+ - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps
1521
+ - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v)
1522
+ - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release]
1523
+ - fix(ci): fix flaky test tmp dir collision + simplify auto-release
1524
+ - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh
1525
+ - fix(ci): remove secrets in step if-conditions — check token inside script instead
1526
+ - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration
1527
+ - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration
1528
+ - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic
1529
+ - fix(statusline): remove Ctx% — show only squeez compression metrics
1530
+ - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics
1531
+ - resolve gap analysis — new handlers, wider redundancy window, token budget
1532
+ - install.sh — clarify PostToolUse no-matcher intent, guard version echo
1533
+ - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log
1534
+ - use ends_with for files_committed check in init finalize
1535
+ - json_util — guard extract_u64 empty digit, add json_util test coverage
1536
+ - add pre-flight binary check to bench/run.sh
1537
+ - atomic settings.json write + uninstall safety guards
1538
+ - harden pretooluse hook (shlex.quote, error handling, single path source)
1539
+ - wrap — process_group(0) for correct signal forwarding, tighten is_streaming
1540
+
12
1541
  ## [1.20.0] - 2026-05-18
13
1542
 
14
1543
  ### Added
@@ -3587,7 +5116,7 @@ conventional commit messages on `main`.
3587
5116
  ## [1.5.1] and earlier
3588
5117
  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.
3589
5118
 
3590
- [Unreleased]: https://github.com/claudioemmanuel/squeez/compare/v1.20.0...HEAD
5119
+ [Unreleased]: https://github.com/claudioemmanuel/squeez/compare/v1.22.1...HEAD
3591
5120
  [1.7.0]: https://github.com/claudioemmanuel/squeez/compare/v1.6.1...v1.7.0
3592
5121
  [1.6.1]: https://github.com/claudioemmanuel/squeez/compare/v1.6.0...v1.6.1
3593
5122
  [1.6.0]: https://github.com/claudioemmanuel/squeez/compare/v1.5.2...v1.6.0
@@ -3616,3 +5145,7 @@ See the [git tag history](https://github.com/claudioemmanuel/squeez/tags) for pr
3616
5145
  [1.19.3]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.19.3
3617
5146
  [1.19.4]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.19.4
3618
5147
  [1.20.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.20.0
5148
+ [1.21.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.21.0
5149
+ [1.21.1]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.21.1
5150
+ [1.22.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.22.0
5151
+ [1.22.1]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.22.1