v0.8.4

Pre-release

LibreChat-AI/LibreChatv0.8.4Mar 20, 2026by danny-avila

Upgrading?

AI Summary

This release is primarily focused on security and stability improvements, featuring 30+ security fixes. It includes MCP improvements like reconnection storm prevention, replaces `tiktoken` with `ai-tokenizer`, and changes artifact rendering to static HTML.

Key Highlights

  • 30+ security fixes
  • MCP reconnection storm prevention with circuit breaker
  • Replaced tiktoken with ai-tokenizer
  • Artifact rendering changes (Static HTML)
  • Accessibility improvements for screen readers

New Features

  • Security hardening
  • MCP circuit breaker and OAuth race condition fixes
  • Replaced tiktoken with ai-tokenizer
  • Replaced React Markdown with Static HTML for artifacts
  • Screen reader improvements for conversation headings

Full Release Notes

https://www.librechat.ai/changelog/v0.8.4

## 🏞️ Highlights

This release of LibreChat is primarily focused on security and stability improvements.

- **Security Hardening**
  - 30+ security fixes: Strongly recommended update for all deployments.
- **MCP Improvements**
  - Reconnection storm prevention with circuit breaker and backoff, OAuth race condition fixes, fail-closed domain validation, better STDIO UX with `customUserVars`.
- **Replaced `tiktoken` with `ai-tokenizer`**
  - Lighter, faster tokenization dependency.
- **Artifact Rendering**
  - Replaced React Markdown renderer with static HTML for more reliable artifact display.
- **Accessibility**
  - Screen reader improvements for conversation headings and date groups.
 
<details>
<summary><h2>Click to expand Release Notes</h2></summary>

For detailed changes in the release candidate, see:
- [v0.8.4-rc1](https://www.librechat.ai/changelog/v0.8.4-rc1)

---

## Changes Since v0.8.4-rc1

### ✨ Features

* πŸ“– Add Native ODT Document Parser Support by [@pol9061](https://github.com/pol9061) in [#12303](https://github.com/danny-avila/LibreChat/pull/12303)
* πŸ“‘ Support Unauthenticated SMTP Relays by [@mfish911](https://github.com/mfish911) in [#12322](https://github.com/danny-avila/LibreChat/pull/12322)

### πŸ› Fixes

* 🎭 Set Explicit Permission Defaults for USER Role in roleDefaults by [@danny-avila](https://github.com/danny-avila) in [#12308](https://github.com/danny-avila/LibreChat/pull/12308)
* 🧯 Remove Revoked Agents from User Favorites by [@danny-avila](https://github.com/danny-avila) in [#12296](https://github.com/danny-avila/LibreChat/pull/12296)
* πŸ–ΌοΈ Correct ToolMessage Response Format for Agent-Mode Image Tools by [@danny-avila](https://github.com/danny-avila) in [#12310](https://github.com/danny-avila/LibreChat/pull/12310)
* πŸ”Œ Isolate Code-Server HTTP Agents to Prevent Socket Pool Contamination by [@danny-avila](https://github.com/danny-avila) in [#12311](https://github.com/danny-avila/LibreChat/pull/12311)
* πŸ›‚ Reject OpenID Email Fallback When Stored `openidId` Mismatches Token Sub by [@danny-avila](https://github.com/danny-avila) in [#12312](https://github.com/danny-avila/LibreChat/pull/12312)
* πŸ›‘οΈ Prevent loop in ChatGPT import on Cyclic Parent Graphs by [@danny-avila](https://github.com/danny-avila) in [#12313](https://github.com/danny-avila/LibreChat/pull/12313)
* πŸͺ¦ ACL-Safe User Account Deletion for Agents, Prompts, and MCP Servers by [@danny-avila](https://github.com/danny-avila) in [#12314](https://github.com/danny-avila/LibreChat/pull/12314)
* 🚦 ERR_ERL_INVALID_IP_ADDRESS and IPv6 Key Collisions in IP Rate Limiters by [@bprussell](https://github.com/bprussell) in [#12319](https://github.com/danny-avila/LibreChat/pull/12319)
* πŸ’£ Harden against falsified ZIP metadata in ODT parsing by [@danny-avila](https://github.com/danny-avila) in [#12320](https://github.com/danny-avila/LibreChat/pull/12320)
* πŸͺ‚ Automatic `logout_hint` Fallback for Oversized OpenID Token URLs by [@Airamhh](https://github.com/Airamhh) in [#12326](https://github.com/danny-avila/LibreChat/pull/12326)
* ♾️ Permanent Ban Cache and Expired Ban Cleanup Defects by [@JooyoungChoi14](https://github.com/JooyoungChoi14) in [#12324](https://github.com/danny-avila/LibreChat/pull/12324)
* πŸͺ€ Avoid express-rate-limit v8 ERR_ERL_KEY_GEN_IPV6 False Positive by [@danny-avila](https://github.com/danny-avila) in [#12333](https://github.com/danny-avila/LibreChat/pull/12333)
* ⛓️‍πŸ’₯ Replace React Markdown Artifact Renderer with Static HTML by [@danny-avila](https://github.com/danny-avila) in [#12337](https://github.com/danny-avila/LibreChat/pull/12337)
* πŸ›‚ Gate MCP Queries Behind USE Permission to Prevent 403 Spam by [@danny-avila](https://github.com/danny-avila) in [#12345](https://github.com/danny-avila/LibreChat/pull/12345)

### πŸ”§ Refactoring

* 🫧 Clear Drafts and Surface Error on Expired SSE Stream by [@danny-avila](https://github.com/danny-avila) in [#12309](https://github.com/danny-avila/LibreChat/pull/12309)
* 🩺 Surface Descriptive OCR Error Messages to Client by [@danny-avila](https://github.com/danny-avila) in [#12344](https://github.com/danny-avila/LibreChat/pull/12344)

### β™Ώ Accessibility

* πŸ—£οΈ Add Screen Reader Context to Conversation Date Group Headings by [@danny-avila](https://github.com/danny-avila) in [#12340](https://github.com/danny-avila/LibreChat/pull/12340)
* πŸ—£οΈ Distinguish Conversation Headings for Screen Readers by [@danny-avila](https://github.com/danny-avila) in [#12341](https://github.com/danny-avila/LibreChat/pull/12341)

### πŸ“¦ Dependencies & Chores

* πŸ“¦ Bump `@dicebear` dependencies to v9.4.1 by [@danny-avila](https://github.com/danny-avila) in [#12315](https://github.com/danny-avila/LibreChat/pull/12315)
* 🐳 Upgrade Alpine packages in Dockerfiles by [@danny-avila](https://github.com/danny-avila) in [#12316](https://github.com/danny-avila/LibreChat/pull/12316)
* πŸ“¦ Update `fast-xml-parser` to v5.5.7 by [@danny-avila](https://github.com/danny-avila) in [#12317](https://github.com/danny-avila/LibreChat/pull/12317)
* 🧹 Resolve correct memory directory in `.gitignore` by [@ethanlaj](https://github.com/ethanlaj) in [#12330](https://github.com/danny-avila/LibreChat/pull/12330)

### 🌍 Internationalization

* 🌍 i18n: Update translation.json with latest translations by [@github-actions[bot]](https://github.com/apps/github-actions) in [#12338](https://github.com/danny-avila/LibreChat/pull/12338)

</details>

## New Contributors

* [@pol9061](https://github.com/pol9061) made their first contribution in [#12303](https://github.com/danny-avila/LibreChat/pull/12303)
* [@bprussell](https://github.com/bprussell) made their first contribution in [#12319](https://github.com/danny-avila/LibreChat/pull/12319)
* [@JooyoungChoi14](https://github.com/JooyoungChoi14) made their first contribution in [#12324](https://github.com/danny-avila/LibreChat/pull/12324)
* [@mfish911](https://github.com/mfish911) made their first contribution in [#12322](https://github.com/danny-avila/LibreChat/pull/12322)
* [@JasonYeYuhe](https://github.com/JasonYeYuhe) made their first contribution in [#12323](https://github.com/danny-avila/LibreChat/pull/12323)

**Full Changelog**: https://github.com/danny-avila/LibreChat/compare/v0.8.3...v0.8.4

Related Repositories