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