v0.10.2
Features
- Profile activation via env var: set
APTU_CODER_PROFILE=edit|analyzefor clients that cannot pass_metaat initialize time;_metatakes precedence when both are present (#774) - Metrics export on shutdown: set
APTU_CODER_METRICS_EXPORT_FILEto write a compact{ session_id, tool_calls, total_duration_ms }JSON payload (#774) - Parse timeout enforced:
APTU_PARSE_TIMEOUT_MICROSnow installs a per-file deadline in every query execution site; adversarially crafted files can no longer stall a rayon worker (#781)
Refactoring
- Remove
analyze_raw: agents useexec_command + sedfor raw file reads; eliminates the sliding-window anti-pattern;exec_commanddescription updated withsed -n 'START,ENDp' FILEguidance (#775) - Remove
edit_renameandedit_insert: server drops from 9 to 7 tools; 0 and 6 lifetime calls respectively across 5,439 sessions; clients calling either receiveINVALID_METHOD(#782)
Bug fixes
- Python def-use:
pattern_list,tuple_pattern,list_pattern, and walrus:=assignments now correctly classified asWrite(#778) - TypeScript def-use:
object_patternandarray_patterndestructuring now correctly classified asWrite(#778)
Documentation
- Add Wave 10 benchmark infrastructure: runner script, MCP config, condition prompts, experiment design, and results directory for conditions E and F (#771)
- Fix tool count (9 -> 7) and add tool-surface-reduction confound entry in wave 10 experiment design (#784)
Tests
- Add 10 def-use tests across Go, Python, and TypeScript covering destructuring, walrus, blank identifiers, optional chaining, and type assertions (#778)
- Update protocol version string in test fixtures to
2025-11-25to match rmcp 1.6.0 (#783)
Full Changelog: v0.10.1...v0.10.2