🚀 LibreChat v0.8.3
The v0.8.3 release of LibreChat
v0.8.3
What's Changed
🏞️ Highlights
- Event-Driven Lazy Tool Loading
- MCP tools load on-demand, reducing memory load. Includes programmatic tool calling UI.
- New Models & Providers
- Moonshot provider, Claude Opus 4.6 (1M context, adaptive thinking), Sonnet 4.6, GPT-5.3/5.4, Gemini 3.1
- Bedrock document uploads and reasoning_effort, Gemini Thinking Level parameter
- Performance
- Optimized message re-renders, image preview caching, delta buffering for SSE, Redis scalability improvements.
- Local Document Text Extraction
- PDF, DOCX, XLS/XLSX, and OpenDocument parsing locally.
- MCP Server Credential Variables
- Secure per-user auth for UI-created MCP servers via credential placeholders.
- Monaco Code Editor for Artifacts
- Now reliably allows artifact editing.
- Agents
- Editors can now duplicate agents. Added
messageIdfor transaction tracking.
- Editors can now duplicate agents. Added
- Security
- TOCTOU-safe SSRF protection, OIDC improvements (RP-initiated logout, configurable email claim)
- Hardened API routes,
ALLOW_SHARED_LINKS_PUBLICdefaults tofalse.
For detailed changes in each release candidate, see:
- v0.8.3-rc1 - Event-Driven Lazy Tool Loading, Moonshot Provider, Claude Opus/Sonnet 4.6, Delta Buffering
- v0.8.3-rc2 - Local Document Extraction, Bedrock Document Uploads, Credential Variables for MCP, Agent Duplication
Changes Since v0.8.3-rc2
✨ Features
- 🤖 GPT-5.4 and GPT-5.4-pro Context + Pricing by @danny-avila in #12099
🐛 Fixes
- 🏆 Longest-or-Exact-Key Match in
findMatchingPattern, Remove Deprecated Models by @danny-avila in #12073 - 🧭 Subdirectory Deployment Auth Redirect Path Doubling by @danny-avila in #12077
- 🕰️ Preserve
updatedAtTimestamps During Meilisearch Batch Sync by @danny-avila in #12084 - 🧮 XLSX/XLS Upload-as-Text via Buffer-Based SheetJS Parsing by @danny-avila in #12098
- 📐 Replace JS Image Scaling with CSS Viewport Constraints by @CavMCarolina in #12089
- 🛡️ Add Permission Guard for Temporary Chat Visibility by @Airamhh in #12107
- ⛵ Resolve Agent Provider Endpoint Type for File Upload Support by @danny-avila in #12117
- 🔒 Hex-normalized IPv4-mapped IPv6 in Domain Validation by @danny-avila in #12130
- 🩹 MCP Server Recovery from Startup Inspection Failures by @danny-avila in #12145
- 🕵️
remoteAgentsField Omitted from Config by @Airamhh in #12150
🔧 Refactoring
- ⚡ Parallelize CI Workflows with Isolated Caching and Fan-Out Test Jobs by @danny-avila in #12088
- ⚡ Optimize Message Re-renders by @danny-avila in #12097
- 🏎️ Replace Sandpack Code Editor with Monaco for Artifact Editing by @danny-avila in #12109
- 🎞️ Image Rendering with Preview Caching and Layout Reservation by @danny-avila in #12114
- 🔒 Set
ALLOW_SHARED_LINKS_PUBLICtofalseby Default by @ucodia in #12100
📦 Dependencies & Chores
- 📦 npm audit bump by @danny-avila in #12074
- 📦 Bump
multerto v2.1.1 by @danny-avila - 📦 Bump
express-rate-limitto v8.3.0 by @danny-avila in #12115 - 🏷️ Remove Docker Images by Named Tag in
deployed-update.jsby @danny-avila in #12138 - 📦 Bump
mermaidanddompurifyby @danny-avila
🌍 Internationalization
- 🌍 i18n: Update translation.json with latest translations by @github-actions[bot] in #12070
New Contributors
- @CavMCarolina made their first contribution in #12089
- @Airamhh made their first contribution in #12107
- @ucodia made their first contribution in #12100
Full Changelog: https://github.com/danny-avila/LibreChat/compare/v0.8.2...v0.8.3