v3.3.2

BoundaryML/bamlv3.3.2Apr 28, 2026by kichanyurd

AI Summary

This release introduces configuration for tool-call timeouts, improves diagnostic error messages, and upgrades dependencies to address security vulnerabilities. It also fixes several latency and event loop issues.

Key Highlights

  • Added `PARLANT_TOOL_CALL_TIMEOUT` environment variable
  • Improved error messages in `EmcieService`
  • Fixed WebSocketLogger event loop starvation causing latency
  • Fixed MCP tool clients getting stuck after stale sessions
  • Security upgrades for authlib, requests, litellm, and other dependencies

New Features

  • Added `PARLANT_TOOL_CALL_TIMEOUT` environment variable
  • Added guideline description to matcher prompts
  • Improved error messages surfaced by `EmcieService`

Full Release Notes

## [3.3.2] - 2026-04-28

### Added

- Add `PARLANT_TOOL_CALL_TIMEOUT` environment variable to control the plugin tool-call timeout

### Changed

- Include guideline description (in addition to the condition) in matcher prompts
- Render active journeys' descriptions in the canned response draft prompt
- Improve error messages surfaced by `EmcieService` to be more diagnostic
- Relax the `aiopenapi3` pin to `>=0.8.1,<0.9.0`

### Fixed

- Fix redundant batch creation in `ToolCaller` across guideline matches, which in some agents caused a lot of latency unnecessarily
- Fix WebSocketLogger event loop starvation which progressively blocked the async event loop, causing increasing latency over time
- Fix `p.Server.current` becoming unavailable in the `resolve_tool` plugin endpoint under Uvicorn 0.39+. Context vars are now restored at the start of `resolve_tool`, mirroring the existing pattern in `call_tool`, so choice providers depending on `p.Server.current` work again
- Fix MCP tool clients getting stuck after sessions go stale. Clients now reconnect automatically instead of failing subsequent calls

### Security

- Upgrade dependencies to address known CVEs: authlib (>=1.6.11), requests (>=2.33.0), fastmcp (>=3.2.0), litellm (>=1.83.0), pytest (>=9.0.3), pyjwt (>=2.11.1), and constrain transitive deps — aiohttp, cryptography, pillow, pyopenssl, werkzeug, Mako, pyasn1, python-multipart, orjson, Pygments, diskcache
- Upgrade chat frontend: vite (>=7.3.2) and override transitive deps: picomatch, lodash, flatted, brace-expansion, immutable, yaml