Release v3.3.2
This patch is all about stability and speed. Claude Opus 4.7+ now works correctly with adaptive thinking on both direct Anthropic and AWS Bedrock, project-mode file ingestion is fixed, Quick Ask no longer crashes on @-mention, and the plugin is 75 KB lighter thanks to a clean dependency deduplication.
- ๐ง Claude Opus 4.7+ adaptive thinking is fixed โ Adding
claude-opus-4-7(or any Opus 4.7+) as a model and enabling reasoning used to return a 400 error because the plugin was sending the legacythinking.type=enabledshape, which Opus 4.7+ no longer accepts. It now correctly sendsthinking.type=adaptiveand requests a summarized display so the thinking block appears in chat. Both the direct Anthropic and AWS Bedrock code paths are fixed. (@logancyang) - ๐ Project-mode file ingestion is fixed โ PDFs, images, audio files, and Office docs added to a project's source files were silently failing to upload because Obsidian's CORS-bypass path can't handle native
FormDatastreams. The upload path now usesrequestUrlwith a manually-constructed multipart body, matching how the rest of the plugin talks to Brevilabs. (@zeroliu) - ๐ฌ Quick Ask no longer crashes on
@-mention โ Opening the Quick Ask panel and typing@to mention a note was crashing with "useApp() called outside of AppContext.Provider". Fixed by wrapping the panel's React root in the sameAppContextthat the main chat view uses. (@zeroliu) - โก 75 KB smaller bundle โ
@langchain/communityis dropped (Jina embeddings now run against a hand-rolled Obsidian-native client), andopenaiis bumped to v6 to eliminate a duplicate copy of the SDK that was sneaking in alongside@langchain/openai. The plugin is now around 3.3 MB. (@zeroliu) - ๐ด Clearer error when a Bedrock model ID is missing its inference-profile prefix โ If you configure a bare regional Bedrock model ID (e.g.
anthropic.claude-sonnet-4-6without aglobal.,us., etc. prefix), the error used to surface as raw JSON. It now shows a plain-English message pointing you to Settings โ Models and listing the four valid prefix forms. (@logancyang) - ๐งน React state management cleanup โ 56
setState-in-useEffectanti-patterns were replaced with idiomatic React patterns across 21 files. Side effects include: the token-count badge in chat now updates correctly after regeneration, chain/setting toggles in ChatInput no longer flash stale state, and the draggable quick-command modal no longer resets your resize when content grows. (@zeroliu)
More details in the changelog:
Improvements
- #2460 chore(deps): remove unused deps and dead code to shrink bundle @zeroliu
- #2463 chore(deps): drop @langchain/community + bump openai to v6 to dedupe SDKs @zeroliu
- #2467 chore(react): centralize React root creation via createPluginRoot helper @zeroliu
- #2469 Remove dead ChainFactory and chain validation helpers @zeroliu
- #2470 style(css): expand #ccc to 6-digit hex format for consistency @zeroliu
Bug Fixes
- #2399 fix(brevilabs): rewrite uploads via requestUrl multipart (W8/9) @zeroliu
- #2454 chore(lint): fix no-direct-set-state-in-use-effect violations @zeroliu
- #2466 fix(quick-ask): provide AppContext to overlay panel @zeroliu
- #2471 fix(anthropic+bedrock): adaptive thinking + summarized display for claude-opus-4-7+ @logancyang
- #2472 fix(bedrock): explain inference-profile requirement when AWS rejects on-demand model ID @logancyang
Generated by the release agent.