### 📺 What's Changed

**Youtube:** **[New Features in LibreChat v0.7.3](https://youtu.be/bSVHEbVPNl4)**

### 🏞️ Highlights

- GPT-4o Support
- Initial support for OpenAI Assistants v2
- Introduction of Speech-to-Text and Text-to-Speech functionalities
- Save and Restore for Chats when switching between Conversations
- LDAP Authentication & Proxy Support for OpenID Login
- Email Features for Authentication
- Private Assistants
- Shared Links

### ✨ New Features

* 🚫👤feat: delete user from UI by [@berry-13](https://github.com/berry-13) in [#1526](https://github.com/danny-avila/LibreChat/pull/1526)
* 📧 feat: email verification by [@berry-13](https://github.com/berry-13) in [#2344](https://github.com/danny-avila/LibreChat/pull/2344)
* 🔒 feat: password reset disable option; fix: account email error message by [@berry-13](https://github.com/berry-13) in [#2327](https://github.com/danny-avila/LibreChat/pull/2327)
* 📊 feat: Google tag manager integration by [@DenisPalnitsky](https://github.com/DenisPalnitsky) in [#2469](https://github.com/danny-avila/LibreChat/pull/2469)
* ⚙️ feat: `includedTools` and script changes by [@danny-avila](https://github.com/danny-avila) in [#2690](https://github.com/danny-avila/LibreChat/pull/2690)
* 🚀 feat: gpt-4o by [@danny-avila](https://github.com/danny-avila) in [#2692](https://github.com/danny-avila/LibreChat/pull/2692)
* 🔍 feat: Show Messages from Search Result by [@danny-avila](https://github.com/danny-avila) in [#2699](https://github.com/danny-avila/LibreChat/pull/2699)
* ⚡ feat: Gemini-1.5 Flash, `gpt-4o` imports, `modelSpec` greeting fix by [@danny-avila](https://github.com/danny-avila) in [#2729](https://github.com/danny-avila/LibreChat/pull/2729)
* 🤖 feat: OpenAI Assistants v2 (initial support) by [@danny-avila](https://github.com/danny-avila) in [#2781](https://github.com/danny-avila/LibreChat/pull/2781)
* 🚀 feat: Shared Links by [@danny-avila](https://github.com/danny-avila) in [#2772](https://github.com/danny-avila/LibreChat/pull/2772)
* 🔉 feat: Speech-to-text / Text-to-speech (initial support) by [@danny-avila](https://github.com/danny-avila) in [#2836](https://github.com/danny-avila/LibreChat/pull/2836)
* 🤖 feat: Private Assistants by [@danny-avila](https://github.com/danny-avila) in [#2881](https://github.com/danny-avila/LibreChat/pull/2881)
* 🖱️ feat: Minor Accessibility Changes by [@danny-avila](https://github.com/danny-avila) in [#2903](https://github.com/danny-avila/LibreChat/pull/2903)
* 🔉 feat: TTS/STT rate limiters  by [@danny-avila](https://github.com/danny-avila) in [#2925](https://github.com/danny-avila/LibreChat/pull/2925)
* 🦙 feat: Add LLama 3 System Context Length by [@danny-avila](https://github.com/danny-avila) in [#2938](https://github.com/danny-avila/LibreChat/pull/2938)
* 🔒 feat(auth): LDAP Authentication by [@ohneda](https://github.com/ohneda) in [#2859](https://github.com/danny-avila/LibreChat/pull/2859)
* 📝 feat: Markdown support for Custom Footer links by [@jakubmieszczak](https://github.com/jakubmieszczak) in [#2960](https://github.com/danny-avila/LibreChat/pull/2960)
* ✍️ feat: Automatic Save and Restore for Chat by [@ohneda](https://github.com/ohneda) in [#2942](https://github.com/danny-avila/LibreChat/pull/2942)
* 🛤️ feat: Proxy Support for OpenID Login by [@btribonde](https://github.com/btribonde) in [#3051](https://github.com/danny-avila/LibreChat/pull/3051)
* 🚀 feat: Add Option to Disable Shared Links by [@ohneda](https://github.com/ohneda) in [#2986](https://github.com/danny-avila/LibreChat/pull/2986)

### 🎨 Styling

* 🎨 style(MentionItem): update hover color by [@berry-13](https://github.com/berry-13) in [#2670](https://github.com/danny-avila/LibreChat/pull/2670)
* 🎨 style(MentionItem): update active bg-color by [@danny-avila](https://github.com/danny-avila) in [#2675](https://github.com/danny-avila/LibreChat/pull/2675)
* ❇️ style(ModelSpecs): optimize for Long/Chinese name and mobile styling  by [@danny-avila](https://github.com/danny-avila) in [#2731](https://github.com/danny-avila/LibreChat/pull/2731)
* 📤style: export button icon by [@fuegovic](https://github.com/fuegovic) in [#2752](https://github.com/danny-avila/LibreChat/pull/2752)
* 🔢 style: `ol` Counter Fix by [@danny-avila](https://github.com/danny-avila) in [#2867](https://github.com/danny-avila/LibreChat/pull/2867)
* 🎨 style: Focus Outlines by [@danny-avila](https://github.com/danny-avila) in [#2913](https://github.com/danny-avila/LibreChat/pull/2913)
* 🎨 style(Textarea): Message Edit Textarea Styling by [@ohneda](https://github.com/ohneda) in [#3009](https://github.com/danny-avila/LibreChat/pull/3009)

### ⚙️ Other Changes

* 🧹 chore(/config/): add tsconfig.json by [@danny-avila](https://github.com/danny-avila) in [#2680](https://github.com/danny-avila/LibreChat/pull/2680)
* 🧹 chore: remove old docs by [@fuegovic](https://github.com/fuegovic) in [#2684](https://github.com/danny-avila/LibreChat/pull/2684)
* 🐋 refactor(docker-compose): use "HOST" in `ports` field by [@nidasfly](https://github.com/nidasfly) in [#2654](https://github.com/danny-avila/LibreChat/pull/2654)
* 🇬 refactor: Update default Google Models and Parameters by [@achhabra2](https://github.com/achhabra2) in [#2782](https://github.com/danny-avila/LibreChat/pull/2782)
* 🌏 refactor: Improve Title Prompt for Multilingual Titles by [@nidasfly](https://github.com/nidasfly) in [#2832](https://github.com/danny-avila/LibreChat/pull/2832)
* 🐋 chore: add `restart: always` to meilisearch service in docker-compose.yml by [@s2terminal](https://github.com/s2terminal) in [#2788](https://github.com/danny-avila/LibreChat/pull/2788)
* ♻️ refactor: Login and Registration component Improvement by [@ohneda](https://github.com/ohneda) in [#2716](https://github.com/danny-avila/LibreChat/pull/2716)
* 🚀 refactor: Enhance Custom Endpoints, Message Logic, and Payload Handling by [@danny-avila](https://github.com/danny-avila) in [#2895](https://github.com/danny-avila/LibreChat/pull/2895)
* ⬆️ chore: bump `[@langchain](https://github.com/langchain)/google-vertexai` to `v0.0.17` by [@danny-avila](https://github.com/danny-avila) in [#2905](https://github.com/danny-avila/LibreChat/pull/2905)
* 🔧 chore: Update OpenIDStrategy Logging by [@arthurian](https://github.com/arthurian) in [#2911](https://github.com/danny-avila/LibreChat/pull/2911)
* 🛠️ refactor: Improve Logging and Error Handling in `ToolService` and `useSSE` by [@danny-avila](https://github.com/danny-avila) in [#2922](https://github.com/danny-avila/LibreChat/pull/2922)
* 🔄 refactor(EditPresetDialog): Update Model on Endpoint Change by [@danny-avila](https://github.com/danny-avila) in [#2936](https://github.com/danny-avila/LibreChat/pull/2936)
* 🔧 chore: Add `import/order` Eslint Rule by [@ohneda](https://github.com/ohneda) in [#2928](https://github.com/danny-avila/LibreChat/pull/2928)
* 🧹 chore(.eslintrc.js): Update Import Order of The React Types by [@ohneda](https://github.com/ohneda) in [#2964](https://github.com/danny-avila/LibreChat/pull/2964)
* 🔒refactor: social login and remove direct user model access in strategies by [@berry-13](https://github.com/berry-13) in [#2946](https://github.com/danny-avila/LibreChat/pull/2946)
* 🚀 refactor: Remove Local Login Redundancies  by [@danny-avila](https://github.com/danny-avila) in [#3002](https://github.com/danny-avila/LibreChat/pull/3002)
* ℹ️ refactor: Remove use of Agenda for Conversation Imports by [@danny-avila](https://github.com/danny-avila) in [#3024](https://github.com/danny-avila/LibreChat/pull/3024)
* 🚀 refactor: Prevent Event Close, add Index by [@danny-avila](https://github.com/danny-avila) in [#3052](https://github.com/danny-avila/LibreChat/pull/3052)
* 🐋 ci: create smaller Docker images by [@derkoe](https://github.com/derkoe) in [#2691](https://github.com/danny-avila/LibreChat/pull/2691)
* 🚅 docs: Updated Example for LiteLLM ports and Volume mount by [@ventz](https://github.com/ventz) in [#2941](https://github.com/danny-avila/LibreChat/pull/2941)

### 🔧 Fixes

* 👮 fix(enforceModelSpec): handle nested objects by [@danny-avila](https://github.com/danny-avila) in [#2681](https://github.com/danny-avila/LibreChat/pull/2681)
* 🔀 fix: Address Convo/Preset Switching Issues by [@danny-avila](https://github.com/danny-avila) in [#2709](https://github.com/danny-avila/LibreChat/pull/2709)
* 🚑 fix: Display Error Message when API Connection fails during Chat by [@ohneda](https://github.com/ohneda) in [#2710](https://github.com/danny-avila/LibreChat/pull/2710)
* 🤖 fix: Azure Assistants, use `deploymentName` as Run Model by [@danny-avila](https://github.com/danny-avila) in [#2736](https://github.com/danny-avila/LibreChat/pull/2736)
* 💻 fix: Prevent `DataTable` component Text Selection by [@techwithanirudh](https://github.com/techwithanirudh) in [#2749](https://github.com/danny-avila/LibreChat/pull/2749)
* 🐞 Fix: OpenID Profile Image Download by [@bsu3338](https://github.com/bsu3338) in [#2757](https://github.com/danny-avila/LibreChat/pull/2757)
* 🚑 fix(export): Issue exporting Conversation with Assistants by [@danny-avila](https://github.com/danny-avila) in [#2769](https://github.com/danny-avila/LibreChat/pull/2769)
* 👨‍🔧 fix: recognize command+click on macos by [@eshack94](https://github.com/eshack94) in [#2786](https://github.com/danny-avila/LibreChat/pull/2786)
* 🔧 fix: Assistants App Error on Parameters Render by [@danny-avila](https://github.com/danny-avila) in [#2805](https://github.com/danny-avila/LibreChat/pull/2805)
* 🔧 fix(StableDiffusion): Temporarily Remove `sampler_index` by [@danny-avila](https://github.com/danny-avila) in [#2815](https://github.com/danny-avila/LibreChat/pull/2815)
* 🐞 fix: add LocalAI to GET /voices by [@bsu3338](https://github.com/bsu3338) in [#2837](https://github.com/danny-avila/LibreChat/pull/2837)
* 🔧 fix: Recognize `azureAssistants` Endpoint Config by [@pxz2016](https://github.com/pxz2016) in [#2824](https://github.com/danny-avila/LibreChat/pull/2824)
* 🗣️ fix(tts): Add Text Parser for Message Content Parts by [@danny-avila](https://github.com/danny-avila) in [#2840](https://github.com/danny-avila/LibreChat/pull/2840)
* ⏯️ fix(tts): Resolve Voice Selection and Manual Playback Issues by [@danny-avila](https://github.com/danny-avila) in [#2845](https://github.com/danny-avila/LibreChat/pull/2845)
* 🔧 fix(redis): Resolve Redis Standalone vs Cluster mode discrepancy for social logins by [@arthurian](https://github.com/arthurian) in [#2848](https://github.com/danny-avila/LibreChat/pull/2848)
* 🔊 fix(tts): NotAllowedError (mobile/safari), Unsupported MediaSource type (firefox), Hide Audio Element by [@danny-avila](https://github.com/danny-avila) in [#2854](https://github.com/danny-avila/LibreChat/pull/2854)
* 🚑 fix: Resolve Data Consistency in Infinite Queries by [@ohneda](https://github.com/ohneda) in [#2852](https://github.com/danny-avila/LibreChat/pull/2852)
* 🔈 fix(tts): update min value for playback rate by [@danny-avila](https://github.com/danny-avila) in [#2880](https://github.com/danny-avila/LibreChat/pull/2880)
* ⚛️ fix(atomWithLocalStorage): Handle Parsing Error by [@danny-avila](https://github.com/danny-avila) in [#2883](https://github.com/danny-avila/LibreChat/pull/2883)
* 😎 fix: Azure Bug, short default `max_tokens` response using `gpt-4-vision-preview` by [@danny-avila](https://github.com/danny-avila) in [#2885](https://github.com/danny-avila/LibreChat/pull/2885)
* 🚑 fix: Prevent Infinite Re-Rendering of the Password Reset UI by [@ohneda](https://github.com/ohneda) in [#2887](https://github.com/danny-avila/LibreChat/pull/2887)
* 🚑 fix(export): Export Issue with New Chat by [@ohneda](https://github.com/ohneda) in [#2777](https://github.com/danny-avila/LibreChat/pull/2777)
* ⬇️ fix: JSON LibreChat Imports by [@danny-avila](https://github.com/danny-avila) in [#2897](https://github.com/danny-avila/LibreChat/pull/2897)
* 🗣️ fix: Set Audio Run ID at Top of Autoplayback Request by [@danny-avila](https://github.com/danny-avila) in [#2926](https://github.com/danny-avila/LibreChat/pull/2926)
* 🐛 fix: Resolve Preset Button Disappearing in Mobile View by [@danny-avila](https://github.com/danny-avila) in [#2935](https://github.com/danny-avila/LibreChat/pull/2935)
* 🎂 fix: birthday icon by [@berry-13](https://github.com/berry-13) in [#2950](https://github.com/danny-avila/LibreChat/pull/2950)
* 🔧 fix(useMentions): handle empty assistant lists by [@berry-13](https://github.com/berry-13) in [#2966](https://github.com/danny-avila/LibreChat/pull/2966)
* 🪲 fix(useTextarea): enterToSend bugs by [@berry-13](https://github.com/berry-13) in [#2988](https://github.com/danny-avila/LibreChat/pull/2988)
* 📧 fix: Ensure User Verification for Instances without Email Service by [@danny-avila](https://github.com/danny-avila) in [#2998](https://github.com/danny-avila/LibreChat/pull/2998)
* 📧 fix: LDAP login after User verification changes by [@danny-avila](https://github.com/danny-avila) in [#3003](https://github.com/danny-avila/LibreChat/pull/3003)
* 🗃️ fix: revise RAG prompt by [@danny-avila](https://github.com/danny-avila) in [#3006](https://github.com/danny-avila/LibreChat/pull/3006)
* 📧 fix: Cancel Signup if Email Issuance Fails by [@danny-avila](https://github.com/danny-avila) in [#3010](https://github.com/danny-avila/LibreChat/pull/3010)
* 📋 fix(handlePaste): Remove Custom rich-text handling by [@danny-avila](https://github.com/danny-avila) in [#3025](https://github.com/danny-avila/LibreChat/pull/3025)
* 🤖 fix(Assistants): Ensure Required Actions always have Outputs by [@danny-avila](https://github.com/danny-avila) in [#3031](https://github.com/danny-avila/LibreChat/pull/3031)


### 👀 What's Next

**v0.7.4:** https://github.com/danny-avila/LibreChat/milestone/6

---

## New Contributors

* [@nidasfly](https://github.com/nidasfly) made their first contribution in [#2654](https://github.com/danny-avila/LibreChat/pull/2654)
* [@derkoe](https://github.com/derkoe) made their first contribution in [#2691](https://github.com/danny-avila/LibreChat/pull/2691)
* [@eshack94](https://github.com/eshack94) made their first contribution in [#2786](https://github.com/danny-avila/LibreChat/pull/2786)
* [@achhabra2](https://github.com/achhabra2) made their first contribution in [#2782](https://github.com/danny-avila/LibreChat/pull/2782)
* [@arthurian](https://github.com/arthurian) made their first contribution in [#2848](https://github.com/danny-avila/LibreChat/pull/2848)
* [@jakubmieszczak](https://github.com/jakubmieszczak) made their first contribution in [#2960](https://github.com/danny-avila/LibreChat/pull/2960)
* [@btribonde](https://github.com/btribonde) made their first contribution in [#3051](https://github.com/danny-avila/LibreChat/pull/3051)

**Full Changelog**: https://github.com/danny-avila/LibreChat/compare/v0.7.2...v0.7.3