$ the-wire · showcase
promptfoo 0.124.0 makes WatsonX, Langfuse and Slack SDKs opt-in
By RepoJournal · Filed · About AI Red Teaming · Composed from the cited sources · methodology
promptfoo removed its hosted ChatKit provider and flipped four SDK integrations to opt-in in a single breaking release, while operators running MCP-based red teaming got the redirect-credential fix they need.
0.124.0 promptfoo/promptfoo
by promptfoobot[bot]
The 0.124.0 release removes the hosted ChatKit provider outright and makes the WatsonX, Langfuse, and Slack SDKs opt-in, so existing configs that relied on any of them will stop resolving until you install and enable the packages yourself. This is a breaking change: nothing silently degrades, the providers simply are not there.
fix(deps): update MCP SDK to 1.32.0 for redirect security fixes promptfoo/promptfoo
promptfoo moved its MCP SDK dependency from 1.30.0 to 1.32.0, which closes GHSA-6prh-2h8m-c8cw; the 1.30.1 originally proposed still allowed cross-origin HTTP redirects to forward custom credentials and request bodies. The manifest guard now rejects any SDK below 1.32.0, so remote MCP connections pick up the stricter redirect handling.
fix(assertions): accept grader result shapes earlier releases recorded promptfoo/promptfoo
A stricter grading rule introduced earlier made every value in namedScores a finite number and every componentResults entry a complete result, which broke custom graders that had passed on 0.123.1 with boolean or None metrics. Those assertions now pass again instead of failing with "must return ... finite scores and weights".
FEAT: Add GitHub Copilot SDK target and native judge retries microsoft/PyRIT
PyRIT added a GitHubCopilotTarget that drives native text conversations through the optional github-copilot SDK extra, with explicit model selection, initial system instructions, token or existing-login auth, caller-chosen working directories and request deadlines. Sessions are owned per PyRIT conversation, turns are serialized, and remote session export stays disabled.
FIX Validate empty Garak task prefixes without allowing empty prompts microsoft/PyRIT
PyRIT's dataset end-to-end test was rejecting valid Garak task ingredients because it required every seed value to be nonempty, while the pinned upstream dataset ships three empty task-prefix variants: report, resume, and latent_jailbreak. The validation now accepts empty prefixes without letting an empty prompt through. Rounding out the day: simple-git moved to 4.0.2 with both code-scan consum...
Action items
- → Update promptfoo's MCP SDK to 1.32.0 to pick up the GHSA-6prh-2h8m-c8cw redirect fix promptfoo/promptfoo [immediate]
- → Update promptfoo to 0.124.0 and re-add the opt-in WatsonX, Langfuse, or Slack SDKs your configs depend on (the hosted... promptfoo/promptfoo [plan]