Skip to content

Update on 2.2.1#34

Merged
ppgranger merged 10 commits intoproductionfrom
main
Mar 28, 2026
Merged

Update on 2.2.1#34
ppgranger merged 10 commits intoproductionfrom
main

Conversation

@ppgranger
Copy link
Copy Markdown
Owner

@ppgranger ppgranger commented Mar 28, 2026

Changelog — token-saver v2.2.1

New Processors

  • Cargo (priority 22) — cargo build/check/doc/update/bench with warning grouping by type and full error preservation
  • Cargo Clippy (priority 26) — Dedicated Rust clippy lint handling with lint categorization (style, correctness, complexity, perf) and chaining to lint processor
  • Go (priority 23) — go build/vet/mod/generate/install with download collapsing and error grouping
  • Python Installpip install, poetry install, uv pip install with dependency resolution compression
  • Maven/Gradlemvn and gradle build output compression with download/compile collapsing
  • SSH (priority 43) — Non-interactive ssh and scp with progress compression; narrowed hook exclusion to interactive-only
  • JQ/YQ (priority 44) — JSON structure compression via compress_json_value, YAML heuristic summarization
  • Structured Log — JSON lines / stern / kubetail log compression

Features

  • Per-processor disable — New disabled_processors config/env var to selectively disable processors
  • Multi-processor chainingchain_to attribute supports lists with cycle detection and configurable max_chain_depth

Bug Fixes

  • Fix missing @ separator in Pipfile.lock package formatting (pytest3.11.0 -> pytest@3.11.0)
  • Fix overly permissive tree summary regex in file_listing (matched "director" prefix instead of "directories"/"directory")
  • Fix extra newlines in generic truncation message causing triple newlines in output
  • Fix dead patterns and edge cases in build_output and lint_output processors

Refactoring

  • Deduplicate poetry.lock / Cargo.lock parsers into shared _compress_toml_lock method
  • Extract shared Rust compiler regex patterns (WARNING_START_RE, ERROR_START_RE, etc.) to utils.py

Stats

  • 8 new processors (21 -> 29 total)
  • 37 files changed, +1,481 lines added
  • 688 tests passing

- Cargo processor (priority 22): cargo build/check/doc/update/bench with
  warning grouping by type and full error preservation
- Go processor (priority 23): go build/vet/mod/generate/install with
  download collapsing and error grouping
- SSH processor (priority 43): non-interactive ssh and scp with progress
  compression, narrowed hook exclusion to interactive-only
- JQ/YQ processor (priority 44): JSON structure compression via
  compress_json_value, YAML heuristic summarization
- Engine chaining: chain_to attribute on Processor base class, _by_name
  lookup dict, max depth 1 with self-reference guard
- E741: rename ambiguous variable l -> line
- SIM114: combine if branches with same body using logical or
- PERF402: use list() instead of append loop
- F841: remove unused variables (array_start_idx, current_file)
- ERA001: remove commented-out code
- B007: remove unused loop variable
- PLR5501: use elif instead of else+if
- PERF203: extract try/except out of loop
- I001: sort imports alphabetically
- F541: remove extraneous f-prefix on strings without placeholders
- E501: wrap long lines
feat: add cargo, go, ssh, jq/yq processors and multi-processor chaining
…pport

- Per-processor enable/disable via `disabled_processors` config/env var
- New processors: python_install (pip/poetry/uv), cargo_clippy (Rust clippy),
  maven_gradle (mvn/gradle), structured_log (JSON lines/stern/kubetail)
- Multi-processor chaining: chain_to supports lists with cycle detection
  and max_chain_depth config; cargo_clippy chains to lint processor
- Fix dead patterns and edge cases in build_output and lint_output
…new-ecosystems

feat: add per-processor disable, 4 new processors, and multi-chain su…
- Fix missing @ separator in Pipfile.lock package formatting
- Fix overly permissive tree summary regex in file_listing
- Fix extra newlines in generic truncation message
- Deduplicate poetry.lock/Cargo.lock parsers into _compress_toml_lock
- Extract shared Rust compiler regex patterns to utils.py
fix: bugs and code deduplication in processors
@ppgranger ppgranger merged commit 8aa620f into production Mar 28, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant