# Changelog All notable changes to this project are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Future entries are maintained automatically by release-please from conventional commit messages on `main`. ## [Unreleased] ### Added - test(bench): `bench/verify_tokens.py` — independent veracity check that re-tokenizes every fixture (before + after squeez) with a real BPE tokenizer (`cl100k_base` via tiktoken) instead of the `chars/4` estimate. Confirms the reported reduction is not an artifact of the crude token unit: 83.5% real-BPE vs 83.0% chars/4 across 22 filter/markdown fixtures — a 0.5-point divergence. Committed proof artifact at `bench/verify_tokens.json`. ## [1.34.4] - 2026-07-02 ### Added - tokenizer_scale for Sonnet 5 + fix release notes from git history (#175) - feat(hosts): add Hermes Agent adapter - feat(compact): post-compact dense state re-injection (#168) - feat(tokens): code- and CJK-aware token estimate for compression decisions (#162) - feat(toon): encode objects with nested values instead of rejecting them (#160) - feat(truncation): relevance-aware truncation keeps the lines that matter (#158) - feat(log-template): collapse near-identical log lines into templated counts (#156) - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154) - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.34.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.34.3 - chore(release): bump version to 1.34.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.34.2 - chore(release): bump version to 1.34.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.34.1 - chore(release): bump version to 1.34.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.34.0 - chore(release): bump version to 1.34.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.33.0 - chore(release): bump version to 1.33.0 [squeez-release-bot] - docs: refresh README + benchmark report for v1.32.1 (#171) - docs: update changelog and benchmarks for v1.32.1 - chore(release): bump version to 1.32.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.32.0 - chore(release): bump version to 1.32.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.2 - chore(release): bump version to 1.31.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.1 - chore(release): bump version to 1.31.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.0 - chore(release): bump version to 1.31.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.30.0 - chore(release): bump version to 1.30.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.29.0 - chore(release): bump version to 1.29.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.28.0 - chore(release): bump version to 1.28.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.27.0 - chore(release): bump version to 1.27.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.26.0 - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(build): avoid SIGKILL when reinstalling over an existing binary - fix(compress-output): emit object-shaped updatedToolOutput for Read rewrites - fix(context): don't drop distinct MCP browser snapshots as redundant (#179) - fix(context): key budget/pressure to the real window, not cumulative counters (#178) - fix(hosts): ship plugin.yaml manifest + surface enable step for Hermes - fix(security): don't wrap risky bash commands; honor native permission rules (#169) - fix(generic): stop grouping arbitrary output into "N modified" (#167) - fix(log-template): recognize number+unit tokens so latency logs collapse (#164) - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.34.3] - 2026-07-02 ### Added - tokenizer_scale for Sonnet 5 + fix release notes from git history (#175) - feat(hosts): add Hermes Agent adapter - feat(compact): post-compact dense state re-injection (#168) - feat(tokens): code- and CJK-aware token estimate for compression decisions (#162) - feat(toon): encode objects with nested values instead of rejecting them (#160) - feat(truncation): relevance-aware truncation keeps the lines that matter (#158) - feat(log-template): collapse near-identical log lines into templated counts (#156) - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154) - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.34.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.34.2 - chore(release): bump version to 1.34.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.34.1 - chore(release): bump version to 1.34.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.34.0 - chore(release): bump version to 1.34.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.33.0 - chore(release): bump version to 1.33.0 [squeez-release-bot] - docs: refresh README + benchmark report for v1.32.1 (#171) - docs: update changelog and benchmarks for v1.32.1 - chore(release): bump version to 1.32.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.32.0 - chore(release): bump version to 1.32.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.2 - chore(release): bump version to 1.31.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.1 - chore(release): bump version to 1.31.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.0 - chore(release): bump version to 1.31.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.30.0 - chore(release): bump version to 1.30.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.29.0 - chore(release): bump version to 1.29.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.28.0 - chore(release): bump version to 1.28.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.27.0 - chore(release): bump version to 1.27.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.26.0 - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(compress-output): emit object-shaped updatedToolOutput for Read rewrites - fix(context): don't drop distinct MCP browser snapshots as redundant (#179) - fix(context): key budget/pressure to the real window, not cumulative counters (#178) - fix(hosts): ship plugin.yaml manifest + surface enable step for Hermes - fix(security): don't wrap risky bash commands; honor native permission rules (#169) - fix(generic): stop grouping arbitrary output into "N modified" (#167) - fix(log-template): recognize number+unit tokens so latency logs collapse (#164) - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.34.2] - 2026-07-01 ### Added - tokenizer_scale for Sonnet 5 + fix release notes from git history (#175) - feat(hosts): add Hermes Agent adapter - feat(compact): post-compact dense state re-injection (#168) - feat(tokens): code- and CJK-aware token estimate for compression decisions (#162) - feat(toon): encode objects with nested values instead of rejecting them (#160) - feat(truncation): relevance-aware truncation keeps the lines that matter (#158) - feat(log-template): collapse near-identical log lines into templated counts (#156) - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154) - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.34.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.34.1 - chore(release): bump version to 1.34.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.34.0 - chore(release): bump version to 1.34.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.33.0 - chore(release): bump version to 1.33.0 [squeez-release-bot] - docs: refresh README + benchmark report for v1.32.1 (#171) - docs: update changelog and benchmarks for v1.32.1 - chore(release): bump version to 1.32.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.32.0 - chore(release): bump version to 1.32.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.2 - chore(release): bump version to 1.31.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.1 - chore(release): bump version to 1.31.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.0 - chore(release): bump version to 1.31.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.30.0 - chore(release): bump version to 1.30.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.29.0 - chore(release): bump version to 1.29.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.28.0 - chore(release): bump version to 1.28.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.27.0 - chore(release): bump version to 1.27.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.26.0 - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(context): don't drop distinct MCP browser snapshots as redundant (#179) - fix(context): key budget/pressure to the real window, not cumulative counters (#178) - fix(hosts): ship plugin.yaml manifest + surface enable step for Hermes - fix(security): don't wrap risky bash commands; honor native permission rules (#169) - fix(generic): stop grouping arbitrary output into "N modified" (#167) - fix(log-template): recognize number+unit tokens so latency logs collapse (#164) - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.34.1] - 2026-07-01 ### Added - tokenizer_scale for Sonnet 5 + fix release notes from git history (#175) - feat(hosts): add Hermes Agent adapter - feat(compact): post-compact dense state re-injection (#168) - feat(tokens): code- and CJK-aware token estimate for compression decisions (#162) - feat(toon): encode objects with nested values instead of rejecting them (#160) - feat(truncation): relevance-aware truncation keeps the lines that matter (#158) - feat(log-template): collapse near-identical log lines into templated counts (#156) - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154) - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.34.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.34.0 - chore(release): bump version to 1.34.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.33.0 - chore(release): bump version to 1.33.0 [squeez-release-bot] - docs: refresh README + benchmark report for v1.32.1 (#171) - docs: update changelog and benchmarks for v1.32.1 - chore(release): bump version to 1.32.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.32.0 - chore(release): bump version to 1.32.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.2 - chore(release): bump version to 1.31.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.1 - chore(release): bump version to 1.31.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.0 - chore(release): bump version to 1.31.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.30.0 - chore(release): bump version to 1.30.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.29.0 - chore(release): bump version to 1.29.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.28.0 - chore(release): bump version to 1.28.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.27.0 - chore(release): bump version to 1.27.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.26.0 - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(context): key budget/pressure to the real window, not cumulative counters (#178) - fix(hosts): ship plugin.yaml manifest + surface enable step for Hermes - fix(security): don't wrap risky bash commands; honor native permission rules (#169) - fix(generic): stop grouping arbitrary output into "N modified" (#167) - fix(log-template): recognize number+unit tokens so latency logs collapse (#164) - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.34.0] - 2026-06-30 ### Added - tokenizer_scale for Sonnet 5 + fix release notes from git history (#175) - feat(hosts): add Hermes Agent adapter - feat(compact): post-compact dense state re-injection (#168) - feat(tokens): code- and CJK-aware token estimate for compression decisions (#162) - feat(toon): encode objects with nested values instead of rejecting them (#160) - feat(truncation): relevance-aware truncation keeps the lines that matter (#158) - feat(log-template): collapse near-identical log lines into templated counts (#156) - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154) - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.34.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.33.0 - chore(release): bump version to 1.33.0 [squeez-release-bot] - docs: refresh README + benchmark report for v1.32.1 (#171) - docs: update changelog and benchmarks for v1.32.1 - chore(release): bump version to 1.32.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.32.0 - chore(release): bump version to 1.32.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.2 - chore(release): bump version to 1.31.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.1 - chore(release): bump version to 1.31.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.0 - chore(release): bump version to 1.31.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.30.0 - chore(release): bump version to 1.30.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.29.0 - chore(release): bump version to 1.29.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.28.0 - chore(release): bump version to 1.28.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.27.0 - chore(release): bump version to 1.27.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.26.0 - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(hosts): ship plugin.yaml manifest + surface enable step for Hermes - fix(security): don't wrap risky bash commands; honor native permission rules (#169) - fix(generic): stop grouping arbitrary output into "N modified" (#167) - fix(log-template): recognize number+unit tokens so latency logs collapse (#164) - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.33.0] - 2026-06-30 ### Added - feat(hosts): add Hermes Agent adapter - feat(compact): post-compact dense state re-injection (#168) - feat(tokens): code- and CJK-aware token estimate for compression decisions (#162) - feat(toon): encode objects with nested values instead of rejecting them (#160) - feat(truncation): relevance-aware truncation keeps the lines that matter (#158) - feat(log-template): collapse near-identical log lines into templated counts (#156) - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154) - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.33.0 [squeez-release-bot] - docs: refresh README + benchmark report for v1.32.1 (#171) - docs: update changelog and benchmarks for v1.32.1 - chore(release): bump version to 1.32.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.32.0 - chore(release): bump version to 1.32.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.2 - chore(release): bump version to 1.31.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.1 - chore(release): bump version to 1.31.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.0 - chore(release): bump version to 1.31.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.30.0 - chore(release): bump version to 1.30.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.29.0 - chore(release): bump version to 1.29.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.28.0 - chore(release): bump version to 1.28.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.27.0 - chore(release): bump version to 1.27.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.26.0 - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(hosts): ship plugin.yaml manifest + surface enable step for Hermes - fix(security): don't wrap risky bash commands; honor native permission rules (#169) - fix(generic): stop grouping arbitrary output into "N modified" (#167) - fix(log-template): recognize number+unit tokens so latency logs collapse (#164) - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.32.1] - 2026-06-22 ### Added - feat(compact): post-compact dense state re-injection (#168) - feat(tokens): code- and CJK-aware token estimate for compression decisions (#162) - feat(toon): encode objects with nested values instead of rejecting them (#160) - feat(truncation): relevance-aware truncation keeps the lines that matter (#158) - feat(log-template): collapse near-identical log lines into templated counts (#156) - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154) - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.32.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.32.0 - chore(release): bump version to 1.32.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.2 - chore(release): bump version to 1.31.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.1 - chore(release): bump version to 1.31.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.0 - chore(release): bump version to 1.31.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.30.0 - chore(release): bump version to 1.30.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.29.0 - chore(release): bump version to 1.29.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.28.0 - chore(release): bump version to 1.28.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.27.0 - chore(release): bump version to 1.27.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.26.0 - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(security): don't wrap risky bash commands; honor native permission rules (#169) - fix(generic): stop grouping arbitrary output into "N modified" (#167) - fix(log-template): recognize number+unit tokens so latency logs collapse (#164) - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.32.0] - 2026-06-22 ### Added - feat(compact): post-compact dense state re-injection (#168) - feat(tokens): code- and CJK-aware token estimate for compression decisions (#162) - feat(toon): encode objects with nested values instead of rejecting them (#160) - feat(truncation): relevance-aware truncation keeps the lines that matter (#158) - feat(log-template): collapse near-identical log lines into templated counts (#156) - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154) - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.32.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.2 - chore(release): bump version to 1.31.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.1 - chore(release): bump version to 1.31.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.0 - chore(release): bump version to 1.31.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.30.0 - chore(release): bump version to 1.30.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.29.0 - chore(release): bump version to 1.29.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.28.0 - chore(release): bump version to 1.28.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.27.0 - chore(release): bump version to 1.27.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.26.0 - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(generic): stop grouping arbitrary output into "N modified" (#167) - fix(log-template): recognize number+unit tokens so latency logs collapse (#164) - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.31.2] - 2026-06-22 ### Added - feat(tokens): code- and CJK-aware token estimate for compression decisions (#162) - feat(toon): encode objects with nested values instead of rejecting them (#160) - feat(truncation): relevance-aware truncation keeps the lines that matter (#158) - feat(log-template): collapse near-identical log lines into templated counts (#156) - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154) - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.31.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.1 - chore(release): bump version to 1.31.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.0 - chore(release): bump version to 1.31.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.30.0 - chore(release): bump version to 1.30.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.29.0 - chore(release): bump version to 1.29.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.28.0 - chore(release): bump version to 1.28.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.27.0 - chore(release): bump version to 1.27.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.26.0 - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(generic): stop grouping arbitrary output into "N modified" (#167) - fix(log-template): recognize number+unit tokens so latency logs collapse (#164) - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.31.1] - 2026-06-22 ### Added - feat(tokens): code- and CJK-aware token estimate for compression decisions (#162) - feat(toon): encode objects with nested values instead of rejecting them (#160) - feat(truncation): relevance-aware truncation keeps the lines that matter (#158) - feat(log-template): collapse near-identical log lines into templated counts (#156) - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154) - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.31.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.31.0 - chore(release): bump version to 1.31.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.30.0 - chore(release): bump version to 1.30.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.29.0 - chore(release): bump version to 1.29.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.28.0 - chore(release): bump version to 1.28.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.27.0 - chore(release): bump version to 1.27.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.26.0 - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(log-template): recognize number+unit tokens so latency logs collapse (#164) - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.31.0] - 2026-06-22 ### Added - feat(tokens): code- and CJK-aware token estimate for compression decisions (#162) - feat(toon): encode objects with nested values instead of rejecting them (#160) - feat(truncation): relevance-aware truncation keeps the lines that matter (#158) - feat(log-template): collapse near-identical log lines into templated counts (#156) - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154) - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.31.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.30.0 - chore(release): bump version to 1.30.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.29.0 - chore(release): bump version to 1.29.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.28.0 - chore(release): bump version to 1.28.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.27.0 - chore(release): bump version to 1.27.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.26.0 - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.30.0] - 2026-06-22 ### Added - feat(toon): encode objects with nested values instead of rejecting them (#160) - feat(truncation): relevance-aware truncation keeps the lines that matter (#158) - feat(log-template): collapse near-identical log lines into templated counts (#156) - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154) - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.30.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.29.0 - chore(release): bump version to 1.29.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.28.0 - chore(release): bump version to 1.28.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.27.0 - chore(release): bump version to 1.27.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.26.0 - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.29.0] - 2026-06-22 ### Added - feat(truncation): relevance-aware truncation keeps the lines that matter (#158) - feat(log-template): collapse near-identical log lines into templated counts (#156) - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154) - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.29.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.28.0 - chore(release): bump version to 1.28.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.27.0 - chore(release): bump version to 1.27.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.26.0 - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.28.0] - 2026-06-22 ### Added - feat(log-template): collapse near-identical log lines into templated counts (#156) - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154) - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.28.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.27.0 - chore(release): bump version to 1.27.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.26.0 - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.27.0] - 2026-06-22 ### Added - feat(retrieve): reversible compression — stash originals + squeez_retrieve (#154) - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.27.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.26.0 - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.26.0] - 2026-06-22 ### Added - feat(config): add `squeez config` CLI + `/squeez` slash command (#152) - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.26.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.25.0 - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.25.0] - 2026-06-21 ### Added - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.25.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.24.0 - docs: update changelog and benchmarks for v1.23.1 - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(fs): stop collapsing ls/find listings to "N modified" count (#151) - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.24.0] - 2026-06-18 ### Added - feat(sig-mode): capture indented method signatures inside impl/class blocks (#147) - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.24.0 [squeez-release-bot] - chore(release): bump version to 1.23.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.23.0 - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(hooks): strip --no-squeez marker in codex and gemini pretooluse hooks (#146) - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.23.1] - 2026-06-18 ## [1.23.0] - 2026-06-11 ### Added - feat(safety): workflow abuse prevention — all 8 gap items from transcript audit - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.23.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - docs: update changelog and benchmarks for v1.22.1 - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.22.1] - 2026-06-10 ### Added - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.22.1] - 2026-06-10 ### Added - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.22.1] - 2026-06-10 ### Added - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.22.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.22.0 - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(release): make publish-npm non-blocking; add npm whoami diagnostic - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.22.0] - 2026-06-10 ### Added - feat(context): real-context tracking, image/skill dedup, quota nudges, transcript integration - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.22.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.21.1 - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.21.1] - 2026-06-03 ### Added - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.21.1 [squeez-release-bot] - refactor(skills): session-long re-injection dedup; drop lexical skill compression (#142) - docs: update changelog and benchmarks for v1.21.0 - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(codex): emit current PreToolUse/SessionStart hook shapes; silence PostToolUse (#143) - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.21.0] - 2026-05-18 ### Added - feat(economy): enterprise-aware mode — Bedrock/Vertex/OTEL detection + USD savings (#135) - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.21.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.20.0 - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.20.0] - 2026-05-18 ### Added - feat(benchmark): add information-preservation guard against output-token inflation (#133) - feat(cloud): TOON re-encoder for JSON-array outputs (gh, kubectl, aws, gcloud, az) (#134) - feat(sig-mode): preserve attribute / decorator above kept signatures (#137) - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.20.0 [squeez-release-bot] - docs(readme): add "How squeez compares" table vs rtk / KRLabs squeez / sqz / LLMLingua-2 / TOON (#138) - test(cache): lock in byte-stability of MCP and protocol payloads (#136) - docs: update changelog and benchmarks for v1.19.4 - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.19.4] - 2026-05-18 ### Added - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.19.4 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.3 - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(claude-code): stop writing statusline.sh + remove orphans on install (#126) - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.19.3] - 2026-05-18 ### Added - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.19.3 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.2 - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(claude-code): stop registering squeez statusLine + delegate install to adapter (#124) - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.19.2] - 2026-05-18 ### Added - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.19.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.1 - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(compress-output): close PostToolUse compression gaps for Read/Edit/Write (#121) - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.19.1] - 2026-05-18 ### Added - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.19.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.19.0 - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(claude-code): write hooks under settings.hooks., not at top level (#119) - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.19.0] - 2026-05-17 ### Added - feat(economy): auto-curation nudges + cross-session handler stats (#118) - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.19.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.1 - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.18.1] - 2026-05-15 ### Added - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.18.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.18.0 - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(opencode): shell-quote bash command before prepending `squeez wrap` (#115) - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.18.0] - 2026-05-14 ### Added - feat(hosts): add Pi adapter (#116) - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.18.0 [squeez-release-bot] - docs: document DCO Signed-off-by requirement in CLAUDE.md (#111) - docs: update changelog and benchmarks for v1.17.0 - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.17.0] - 2026-05-06 ### Added - feat(compress): plug Agent/Task output, HTML bash, and PreCompact telemetry gaps - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.17.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.16.0 - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.16.0] - 2026-05-06 ### Added - feat(bench): add pytest, jest, xcode_build scenarios — 23 → 26 scenarios - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.16.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.15.1 - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.15.1] - 2026-05-06 ### Added - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.15.1 [squeez-release-bot] - docs: update README and CLAUDE.md for new hooks and PostToolUse rewrite (#108) - refactor(bench): unify benches/ into bench/ — single benchmark directory (#106) - test: add missing coverage for compress-output, filter dispatch, SubagentStop, hook registration (#103) - docs: update changelog and benchmarks for v1.15.0 - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(statusline): show compression % and fix Python heredoc expansion bug - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.15.0] - 2026-05-05 ### Added - feat(hooks): PreCompact + PostCompact lifecycle hooks (#102) - feat(hooks): SubagentStop hook feeds sub-agent output into SessionContext (#101) - feat(monitor): add Monitor tool to PostToolUse compress-output dispatch (#100) - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.15.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.13.0 - chore(release): bump version to 1.14.0 [squeez-release-bot] - chore(release): bump version to 1.13.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.12.0 - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.13.0] - 2026-05-05 ## [1.12.0] - 2026-05-05 ### Added - PostToolUse updatedToolOutput for Read/Grep/Glob (Claude Code v2.1.119+) - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.12.0 [squeez-release-bot] - docs(codex): update adapter comments and README for 0.123.0 hook surface - docs: update changelog and benchmarks for v1.11.2 - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.11.2] - 2026-04-30 ### Added - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.11.2 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.1 - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - plan-mode passthrough + release description body (#95) - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.11.1] - 2026-04-28 ### Added - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.11.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.11.0 - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(session-start): health check missed top-level event keys (#92) - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.11.0] - 2026-04-28 ### Added - session-analysis improvements — az JSON, vite noise, prisma generate, hook health check (#90) - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) - feat(bench): efficiency-proof benchmark suite — quantitative savings for US-001/003/004 (#74) - token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) - feat(setup): adapter-driven setup/uninstall across all hosts (#58) - feat(hosts): Codex CLI adapter (hooks + AGENTS.md soft-budget) (#55) - feat(hosts): Gemini CLI adapter (BeforeTool/AfterTool hooks) (#52) - feat(hosts): full-parity OpenCode adapter + plugin rewrite (#48) - wrangler, playwright, next build handlers + bun/drizzle routing (#34) - feat(opus47): adapt squeez for Opus 4.7 tokenizer and xhigh effort - feat(setup): auto-detect lang from CLAUDE.md/locale + stderr update notification (#29) - v0.3.0 — token economy, pt-BR caveman, aggressive defaults, full hook install - structured session memory, cross-session search, error snippets, configurable tunables - feat(setup): create config.ini on first install - feat(i18n): locale-aware compress-md with pt-BR support (#25) - fuzzy dedup, adaptive intensity, benign summarize, MCP server, temporal memory, protocol payload - Windows setup via cargo/npm + squeez update fix - feat(benchmark): add squeez benchmark command with 19-scenario test suite - feat(ci): re-add promote-develop workflow with correct registration - feat(init): inject persona into ~/.claude/CLAUDE.md on every session start - feat(npm+crates): add npm package and publish jobs to release workflow - feat(statusline): add statusline.sh to repo; install via install.sh; show all-time stats - compress-md, caveman persona, squeez update, track-result hook - feat(context): adaptive intensity always picks Ultra - feat(context): aggressive token-engine — adaptive intensity, redundancy cache, summarize fallback - add Windows support to install.sh and release.yml - add home_dir() helper with USERPROFILE fallback for Windows - cross-platform wrap — shell_command() helper, cfg(unix) signal gates, libc unix-only - add GitHub Copilot CLI support - add OpenCode plugin for automatic Bash compression - add universal installer support for macOS and Linux - expand benchmarks, edge-case tests, and README polish - add SessionStart + PostToolUse hooks, update install.sh and README - wrap.rs — artifact capture (files/errors/git/tests) + compact warning header - squeez init — session start, prior memory banner, session finalization (TDD) - squeez track — token accumulation + session event log (TDD) - memory.rs — Summary, read_last_n, write_summary, prune_old (TDD) - session.rs — CurrentSession, append_event, date math (TDD) - json_util helpers + compact_threshold_tokens, memory_retention_days config - benchmark system — all fixtures passing - build.sh compiles + installs squeez, registers hook - PreToolUse hook script - fs and runtime handlers — all handler tests passing - cloud, database, network handlers (TDD) - typescript and build handlers (TDD) - package_mgr and test_runner handlers (TDD) - git and docker handlers (TDD) - wrap subcommand — sh -c, 120s timeout, signal forwarding, bypass check - Handler trait with cmd+config, generic handler, command router, filter_stdin - truncation strategy (TDD) — all strategy tests passing - grouping strategy (TDD) - dedup strategy (TDD) - smart_filter strategy with node_modules frame removal (TDD) - implement config.ini parser (TDD) ### Changed - chore(release): bump version to 1.11.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.10.0 - docs: update changelog and benchmarks for v1.9.0 - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] - chore(release): bump version to 1.7.2 [squeez-release-bot] - restore: revert accidental deletion of auto-release.yml workflow - docs: update changelog and benchmarks for v1.7.1 - chore(release): bump version to 1.7.1 [squeez-release-bot] - chore: relicense to Apache 2.0 + add DCO policy + banner (#76) - docs: update changelog and benchmarks for v1.7.0 - chore(release): bump version to 1.7.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.1 - chore(release): bump version to 1.6.1 [squeez-release-bot] - docs: update changelog and benchmarks for v1.6.0 - chore(release): bump version to 1.6.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.5.2 - chore(release): bump version to 1.5.2 [squeez-release-bot] - chore(release): bump version to 1.5.1 [squeez-release-bot] - docs: five-host matrix + squeez setup/uninstall flow (#63) - refactor(install): delegate host registration to 'squeez setup' (#60) - chore(release): bump version to 1.5.0 [squeez-release-bot] - chore(release): bump version to 1.4.0 [squeez-release-bot] - chore(release): bump version to 1.3.0 [squeez-release-bot] - chore(release): bump version to 1.2.0 [squeez-release-bot] - chore(release): bump version to 1.1.0 [squeez-release-bot] - chore(release): bump version to 1.0.0 [skip release] - refactor(hosts): extract HostAdapter trait + migrate Claude Code and Copilot (#42) - ci: conventional-commit-driven auto-release (#40) - chore(gov): issue-form templates + refined PR template (#39) - docs: update changelog and benchmarks for v0.4.1 [skip release] (#33) - chore(release): bump version to 0.4.1 - chore(release): bump version to 0.4.0 - docs: update changelog and benchmarks for v0.3.2 [skip release] (#30) - chore: bump version to 0.3.2 - docs: add shields.io badge for changelog link - chore: bump version to 0.3.1 - chore: bump version to 0.2.3 - docs: update README with 11 MCP tools, structured memory, and advanced tunables - chore: bump version to 0.2.2 - docs: rewrite README with full install instructions (curl/npm/cargo) and all commands - chore: refresh bench/report.md from latest run [skip release] - chore(ci): remove promote-develop workflow (re-adding to fix broken registration) - chore: bump version to 0.2.1 + auto-release on merge to main [skip release] - chore: bump version to 0.2.0; add Cargo.toml metadata - ci: PR template, linked-issue enforcement, no-claude-trailer check - docs: update README with PR1+PR2 features, fresh benchmarks, changelog - ci: auto-delete branches after PR merge - docs: update Windows installation instructions and prerequisites in README - docs: add Windows support and Rust install instructions to README - refactor: use session::home_dir() in config and init (Windows compat) - ci: trigger promote workflow (test) - ci(workflow): avoid failing promote job when PR creation is not permitted; add PR_CREATION_TOKEN guidance - docs(readme): add changelog, contribution workflow, and benchmark notes - ci(workflow): create/update PR from develop to main on push - chore: add .worktrees/ to gitignore - chore: add docs/ to gitignore (local design specs) - docs: update README for GitHub Copilot CLI support - security: fix remaining LOW findings in wrap.rs - security: fix 2 follow-up findings from second audit - security: fix all 8 findings from security audit - ci: build and install binary before running benchmarks - chore: add GitHub sponsor button - chore: ignore .omc/ directory, remove from tracking - chore: update benchmark report (7/7 passing) - docs: update README — real benchmarks, Phase 2 config, how it works - style: cargo fmt on session.rs and test_session.rs - chore: open source files — README, LICENSE, CI/release workflows, install.sh - chore: scaffold squeez Rust project ### Fixed - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build - eliminate memory leaks causing 16 GB RAM on MCP server startup (#79) - fix(hooks): add hookEventName to PreToolUse hookSpecificOutput (#78) - fix(opencode): align plugin with PluginModule SDK shape (default export + server map) (#72) - fix(ci): push release docs directly to main (loop-safe) (#68) - back Copilot BUDGET_HARD with Read/Grep hook + update upstream refs (#65) - fix(ci): startsWith guard for auto-release recursion (#46) - fix(ci): tighten auto-release bump detection + fix tag push (#44) - fix(ci): add --allow-dirty to cargo publish for Cargo.lock changes - fix(ci): skip publish gracefully when version already exists on crates.io/npm - fix(ci): run update-docs even if publish jobs fail (already published) - fix(ci): continue-on-error for publish jobs so update-docs always runs - fix(ci): add pull-requests write permission to update-docs job - fix(update): cargo-managed self-update + Windows deferred install + session update check (#27) - fix(ci): update-docs creates PR instead of pushing directly to protected main - fix(npm): copy README.md into npm package before publish; add readme field - fix(ci): add toolchain: stable to all dtolnay/rust-toolchain steps - fix(ci): handle no previous tags in generate-changelog.sh (pipefail + grep -v) - fix(ci): dispatch release.yml from auto-release to bypass GITHUB_TOKEN chain limit [skip release] - fix(ci): fix flaky test tmp dir collision + simplify auto-release - fix(bench): exclude synthetic fixtures from filter-mode bench/run.sh - fix(ci): remove secrets in step if-conditions — check token inside script instead - fix(ci): rename promote-develop → promote-to-main to fix broken workflow registration - fix(ci): bump github-script to v7 in promote-develop to force workflow re-registration - fix(compress_md): use byte slice comparison to avoid UTF-8 char boundary panic - fix(statusline): remove Ctx% — show only squeez compression metrics - fix(statusline): green ✓, proper capitalization, real-time context %, all metrics - resolve gap analysis — new handlers, wider redundancy window, token budget - install.sh — clarify PostToolUse no-matcher intent, guard version echo - wrap.rs — safe git hex check, O(n) dedup, full cmd in event log - use ends_with for files_committed check in init finalize - json_util — guard extract_u64 empty digit, add json_util test coverage - add pre-flight binary check to bench/run.sh - atomic settings.json write + uninstall safety guards - harden pretooluse hook (shlex.quote, error handling, single path source) - wrap — process_group(0) for correct signal forwarding, tighten is_streaming ## [1.10.0] - 2026-04-22 ### Added - feat(fs): auto-compress cat'd markdown via compress_md pipeline (#88) - feat(economy): compress Agent/Task prompt at PreToolUse time (#87) - feat(handlers): xcodebuild noise filter + log-file tail detection (#84) ### Changed - chore(release): bump version to 1.10.0 [squeez-release-bot] - docs(readme): document squeez's compression scope and architectural limits (#85) - chore(release): bump version to 1.9.0 [squeez-release-bot] - chore(release): bump version to 1.8.0 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.7 - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] ### Fixed - fix(hosts): expand PreToolUse matcher to cover Read, Grep, Glob, Agent, Task (#86) - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build ## [1.9.0] - 2026-04-22 ## [1.7.7] - 2026-04-21 ### Changed - chore(release): bump version to 1.7.7 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.6 - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] ### Fixed - fix(json_util,statusline): whitespace-tolerant JSON parser + UTF-8 statusline on Windows (#81) - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build ## [1.7.6] - 2026-04-21 ### Changed - chore(release): bump version to 1.7.6 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.5 - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] ### Fixed - fix(hosts): preserve user settings.json when existing JSON fails to parse (#83) - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build ## [1.7.5] - 2026-04-19 ### Changed - chore(release): bump version to 1.7.5 [squeez-release-bot] - docs: update changelog and benchmarks for v1.7.4 - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] ### Fixed - prevent OOM from unbounded file reads + data integrity fixes - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build ## [1.7.4] - 2026-04-19 ### Changed - chore(release): bump version to 1.7.4 [squeez-release-bot] - perf: O(log n) refactor — tail read, offset index, single-pass parser - docs: update changelog and benchmarks for v1.7.3 - chore(release): bump version to 1.7.3 [squeez-release-bot] ### Fixed - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build ## [1.7.3] - 2026-04-19 ### Changed - chore(release): bump version to 1.7.3 [squeez-release-bot] ### Fixed - fix(ci): use native ubuntu-24.04-arm runner for aarch64 build ## [1.7.0] - 2026-04-18 ### Features - Efficiency-proof benchmark suite — quantitative token-savings proof for US-001 / US-003 / US-004 (#74) ## [1.6.1] - 2026-04-18 ### Bug Fixes - OpenCode plugin aligned with PluginModule SDK shape (#72) ## [1.6.0] - 2026-04-18 ### Features - Token-compression power-up — sig-mode, memory-file warn, structured summaries, hypothesis benchmark (#70) ## [1.5.2] - 2026-04-18 ### Bug Fixes - CI: push release docs directly to main (loop-safe) ## [1.5.1] and earlier 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. [Unreleased]: https://github.com/claudioemmanuel/squeez/compare/v1.34.4...HEAD [1.7.0]: https://github.com/claudioemmanuel/squeez/compare/v1.6.1...v1.7.0 [1.6.1]: https://github.com/claudioemmanuel/squeez/compare/v1.6.0...v1.6.1 [1.6.0]: https://github.com/claudioemmanuel/squeez/compare/v1.5.2...v1.6.0 [1.5.2]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.5.2 [1.7.3]: https://github.com/claudioemmanuel/squeez/compare/v1.7.2...v1.7.3 [1.7.4]: https://github.com/claudioemmanuel/squeez/compare/v1.7.2...v1.7.4 [1.7.5]: https://github.com/claudioemmanuel/squeez/compare/v1.7.2...v1.7.5 [1.7.6]: https://github.com/claudioemmanuel/squeez/compare/v1.7.2...v1.7.6 [1.7.7]: https://github.com/claudioemmanuel/squeez/compare/v1.7.2...v1.7.7 [1.9.0]: https://github.com/claudioemmanuel/squeez/compare/v1.10.0...v1.9.0 [1.10.0]: https://github.com/claudioemmanuel/squeez/compare/v1.7.2...v1.10.0 [1.11.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.11.0 [1.11.1]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.11.1 [1.11.2]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.11.2 [1.12.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.12.0 [1.13.0]: https://github.com/claudioemmanuel/squeez/compare/v1.14.0...v1.13.0 [1.15.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.15.0 [1.15.1]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.15.1 [1.16.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.16.0 [1.17.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.17.0 [1.18.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.18.0 [1.18.1]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.18.1 [1.19.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.19.0 [1.19.1]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.19.1 [1.19.2]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.19.2 [1.19.3]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.19.3 [1.19.4]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.19.4 [1.20.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.20.0 [1.21.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.21.0 [1.21.1]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.21.1 [1.22.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.22.0 [1.22.1]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.22.1 [1.23.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.23.0 [1.23.1]: https://github.com/claudioemmanuel/squeez/compare/v1.24.0...v1.23.1 [1.24.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.24.0 [1.25.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.25.0 [1.26.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.26.0 [1.27.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.27.0 [1.28.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.28.0 [1.29.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.29.0 [1.30.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.30.0 [1.31.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.31.0 [1.31.1]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.31.1 [1.31.2]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.31.2 [1.32.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.32.0 [1.32.1]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.32.1 [1.33.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.33.0 [1.34.0]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.34.0 [1.34.1]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.34.1 [1.34.2]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.34.2 [1.34.3]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.34.3 [1.34.4]: https://github.com/claudioemmanuel/squeez/releases/tag/v1.34.4