Skip to content

2.20.9

Choose a tag to compare

@KennethEnevoldsen KennethEnevoldsen released this 05 Sep 15:07
· 125 commits to main since this release

2.20.9 (2026-09-05)

Fix

  • fix(openai): add %s placeholder so retry logging does not raise TypeError (#5391)

Both OpenAI embedding retry handlers passed the caught exception as a
positional argument to logger.info() while the format string had no %
placeholder, so LogRecord.getMessage() raised TypeError: not all arguments converted during string formatting.

The CLI installs RichHandler (build_cli.py) whose emit() calls
self.format(record) without the try/except that stdlib StreamHandler
uses, so the TypeError propagates out of logger.info(), out of the
except block, and neither time.sleep() nor the retry ever runs. With
the default --verbosity 2 the mteb logger sits at INFO, so a single
transient 429 aborts the run and masks the real API error.

Adding the placeholder restores the intended message and matches the
existing style in google_text_embedding.py. The # noqa: PLE1205
suppressions are removed because the rule no longer fires and RUF100
(unused-noqa) is enabled.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com> (0a05983)

Unknown

  • enable ANN001, ANN201 and ANN202 for mteb/leaderboard/ and mteb/tasks/ (#5390)

  • enable ANN001, ANN201 and ANN202 for tests/ and mteb/leaderboard/

  • remove tests from ANN annotations

  • enable ANN for mteb/tasks (5fbb020)