v1.9.1

pydantic/montyv1.9.1May 7, 2026by skyfallsin

AI Summary

A maintenance release aimed at reducing noise in the memory leak reporting system by refining thresholds and adding session management gates to prevent false positives.

Key Highlights

  • Reduced memory leak noise by approximately 90%.
  • Raised reporter threshold from 200MB to 400MB.
  • Added a session gate to skip reports when sessions are dead.
  • Captured browser RSS during growth to distinguish leaks from shared memory.

New Features

  • Auto-close bot now handles memory-leak issues with zero contexts.
  • Browser RSS capture during growth to aid in leak diagnosis.
  • Fixed misleading code comments regarding native memory metrics.

Full Release Notes

## Memory Leak Reporter Improvements

**Reduced noise from auto-reported memory leak issues by ~90%.**

### Changes

- **Raised reporter threshold** from 200MB → 400MB — the self-healing restart mechanism already handles growth at 200MB when idle, so we only report when self-healing *failed*
- **Added session gate** — skip reports when sessions=0 and browser is already dead (restart handled it). Extreme growth (>600MB) still reports as a safety net.
- **Capture browser RSS during growth** — `lastSeenBrowserRssMb` is now captured while the browser is alive (previously always null by report time). Enables distinguishing Node/Playwright leaks from Firefox shared-memory bleed.
- **Auto-close bot** now handles `memory-leak` issues with 0 contexts + 0 tabs (same pattern as stuck-issue handling)
- **Fixed misleading code comment** — native memory metric measures Node/Playwright state (CDP buffers, glibc arenas), not Firefox's jemalloc

### Context

Audit of 78 auto-reported memory-leak issues found all were self-healing conditions generating noise. The memory pressure restart (kills browser at 200MB growth when idle) was already handling these, but the reporter fired at the same threshold, creating duplicate signals for resolved conditions.