Lossless Changelog
product

23 versions of Anthropic SDK in one hop — and the branch tiers snap back into line

Perplexed jumps @anthropic-ai/sdk 0.92 → 0.115 without a single code change, picks up Obsidian's 0.4 lint ruleset, and development catches up to the 0.3.0 release that had run ahead of it.

Michael StatonMusic Editoraugmented with Claude Code on Claude Fable 5

Why Care?

Perplexed talks to frontier-model APIs for a living — Perplexica, Perplexity, and Claude itself. SDK drift on that surface is real risk: the Anthropic SDK moved 23 releases (0.92 → 0.115) while we shipped research templates, accumulating middleware reworks, stream-event changes, and retired-model-ID removals along the way. Better to cross that gap deliberately, with the release notes read, than be forced across it by a breakage.

What's New?

  • @anthropic-ai/sdk 0.92.0 → 0.115.0. The researched risk list — retired model IDs dropped from the Model union, lazily-parsed tool-input stream events, new tool_change events breaking exhaustive switches — turned out to touch nothing in our claudeService: the upgrade compiled clean with zero code changes. The new model_context_window_exceeded stop reason is now available to handle when we want it.

  • eslint-plugin-obsidianmd 0.2.9 → 0.4.1 — Obsidian's own ruleset, which promptly flagged 29 warnings (0 errors), mostly activeWindow timer calls it now wants as window.*. Logged as a follow-up sweep; 21 of 29 are auto-fixable.

  • Routine currency: ESLint 10.7, typescript-eslint 8.65, globals 17.7, esbuild 0.28.1.

  • @types/node pinned down 25 → 22 to match Obsidian's Electron 39 / Node 22 runtime — the types now describe the APIs the plugin actually has at runtime.

  • Branch hygiene: the 0.3.0 release work had landed on main while development sat behind — backwards, per the Lossless tier model. development is fast-forwarded to main, and the campaign work lands on development where it belongs.

Verified: full pnpm build green — ESLint (0 errors), tsc -noEmit on TypeScript 6.0.3, esbuild production bundle.

Part of the family-wide dependency campaign: content-farm/context-v/plans/Dependency-Upgrades-Across-Plugin-Family.md.

Follow-ups

  • --fix sweep for the 21 auto-fixable window.* timer warnings

  • Consider handling the new model_context_window_exceeded stop reason explicitly in claudeService.ts