Releases: danny-avila/LibreChat
v0.6.0
What's Changed
- To update: run
npm run update
from the project directory for a clean installation.- Prerequisites: git and npm installed
- Recommended: clear localStorage and cookies
✨ New Features
- Summarize messages in longer conversations (ConversationSummaryBufferMemory) by @danny-avila in #973
(Optional/Experimental) Enable message summarization by setting the following in your .env file:
Note: this may affect response time when a summary is being generated. This saves you tokens in conversations with a lot of messages
OPENAI_SUMMARIZE=true
- Add Option to Disable Titling, Config Titling Model, and Title Prompt Improvements by @danny-avila in #977
- GPT-3.5-Turbo-Instruct Support & Model Fetching Refactor by @danny-avila in #981
- Accurate Token Usage Tracking & Optional Balance by @danny-avila in #1018
Read more about the Token Usage/Balance feature here
- Plugin Search Functionality by @walbercardoso in #1007
- Initial Redis Support for Scalability by @danny-avila in #1039
- New User setting to Auto-Scroll to Bottom of Conversation by @berry-13 in #1049
🌐 Internationalization
- Update Zh.tsx by @liukaixiang817 in #1019
- Improve Traditional Chinese Localization by @PeterDaveHello in #1055
- Korean Language Support by @ywkim in #1005
- Traditional Chinese Language Support by @goodair220917 in #1006
🔧 Fixes
- SetOptions() Handling fix for ModelOptions by @jordantgh in #975
- Fixed LoginForm Max Length by @danny-avila in #980
- Cancel Automatic Scrolling During Message Stream on Mobile by @danny-avila in #984
- TextChat Scrollbar Space to allow selecting scrollbar, lower on the screen by @danny-avila in #988
- Fixed wrong Token Usage Rate for GPT-4 introduced in #1018 by @danny-avila in #1020
- OpenAIClient/PluginsClient Proxy Handling by @danny-avila in #1029
- Chats now Correctly Render on Refresh/Visit by @danny-avila in #1037
- SearchBar Debounce Fix by @danny-avila in #1039
- BingAIClient Fix (now using nodejs-gpt) by @danny-avila in #1050 #1063
- Set Correct Default Language Setting by @berry-13 in #1061
- OpenAI Name Property Regex Conformance (no longer errors with Custom names in Presets) by @danny-avila in #1076
- Fix
getLogStores
Property & 401 Error Refresh Token Handling by @danny-avila in #1084
📝 Documentation
- Utilize Meilisearch Using LibreChat in Render by @itzraiss in #972
- Update Render.md with Meilisearch Guide by @danny-avila in #982
- Docker Compose Install Command Fix by @PeterDaveHello in #1053
- Token Usage in README by @berry-13 in #1060
- Meilisearch in Render & Email Password Reset Update by @fuegovic in #1062
- README Update by @berry-13 in #1086
⚙️ Other Changes
- Bump Langchain by @danny-avila in #979
- Login Logs for Fail2Ban by @berry-13 in #986
- Icon & Favicon Adjustments, File Conversions, & Unit Tests by @berry-13 in #987
- PluginStoreDialog Refactor by @berry-13 in #1047
- Docker-Compose UID/GID Setting by @berry-13 in #1044
- Replace EndpointsConfig Recoil Store with React Query by @danny-avila in #1085
New Contributors
- @jordantgh made their first contribution in #975
- @goodair220917 made their first contribution in #1006
- @liukaixiang817 made their first contribution in #1019
- @walbercardoso made their first contribution in #1007
- @PeterDaveHello made their first contribution in #1053
Full Changelog: v0.5.9...v0.6.0
v0.5.9
What's Changed
- To update: run
npm run update
from the project directory for a clean installation.- Prerequisites: git and npm installed
- Recommended: clear localStorage and cookies
⚠️ Breaking Change
It's now required to set a JWT_REFRESH_SECRET in your .env file as of #927
It's also recommended you update your
SESSION_EXPIRY
to a lower value and setREFRESH_TOKEN_EXPIRY
Default values: session expiry: 15 minutes, refresh token expiry: 7 days
See .env.example for exact values in millisecond calculation
✨ New Features
- 🛡️ Refresh Token for Improved Session Security by @bsu3338 & @danny-avila in #927
- 🛡️ Message Rate Limiters, Violation Logging, & Ban System 🔨 by @danny-avila in #903
- 🛡️ Stricter AI Message Rendering to Prevent XSS by @danny-avila in #893
- 🛡️ Encrypt & Expire User Provided Keys, Rate Limiting by @danny-avila in #874
- OpenRouter Support & Improve Model Fetching ⇆ by @danny-avila in #936
- Add Confirm Dialog to Conversation Delete Button by @berry-13 in #875
- Bun Support 🥟 by @danny-avila in #907
- Icons for Chat Identification by @berry-13 in #879
- CodeBrew Plugin by @Falven in #931
- Auto-detect Browser language by @berry-13 in #947
🌐 Internationalization
- Update Zh.tsx by @yuanmu0814 in #862
- Italian Translation for User Provided Keys and Data Controls by @berry-13 in #886
- Updated Portuguese, Spanish translations by @itzraiss in #857 #876 #888 #898
- Japanese Translation by @forestsource in #895
- Swedish Translation by @yoHasse in #940
🔧 Fixes
- Match OpenAI Token Counting Strategy 🪙 by @danny-avila in #945
- Add More Translation Text & Minor UI Fixes by @berry-13 in #861
- Fix Docker Install Guide Broken Link by @finnless in #877
- Fix Various Broken Docker_compose_install.md Links in Docs by @GovernmentPlates in #882
- Devcontainer Image and Networking by @finnless in #891
- Aborted Messages Not Saving by @danny-avila in #894
- Duplicate Key Error in Translation by @danny-avila in #906
- Module Resolution for Create-user Script 👤 by @danny-avila in #935
- Only Include Fields Defined by API Reference in Payload by @danny-avila in #933 #938
- Allow Latin-based Special Characters in Username by @danny-avila in #969
📝 Documentation
- Make_your_own.md Formatting Fix for Mkdocs by @danny-avila in #855
- Hugging Face Deployment by @fuegovic in #867
- Free API Documentation Update by @berry-13 in #902
- Update Huggingface.md by @fuegovic in #942
⚙️ Other Changes
- Enhance DB Schemas/Controllers and Improve E2E Tests by @danny-avila in #966
- Hide Source Map from Client by @danny-avila in #905
- Update: Install Script by @fuegovic in #858
- Bump Packages, Fix Langchain Peer Dep Issue by @danny-avila in #883
- Add Zod to All Workspaces as is Used Individually by Each by @danny-avila in #884
- Bump Data-provider by @danny-avila in #885
- Organize Root Directory Files 🧹 by @danny-avila in #887
- Remove Unused Dependencies 🧹 by @danny-avila in #939
- Refactor(.env.example) by @berry-13 in #880
- Initialize Ban Env Vars in JestSetup by @danny-avila in #937
New Contributors
- @yuanmu0814 made their first contribution in #862
- @finnless made their first contribution in #877
- @GovernmentPlates made their first contribution in #882
- @forestsource made their first contribution in #895
- @Falven made their first contribution in #931
- @yoHasse made their first contribution in #940
v0.5.8
What's Changed
✨ New Features
- GPT/Anthropic: Continue Regenerating & Generation Buttons by @danny-avila in #808
- Medium article on how this works
- Azure Cognitive Search Plugin by @zentooo in #815
- Edit AI Messages, Edit Messages in Place 📝 by @danny-avila in #825
- facebook login by @berry-13 in #820
- Add Code Interpreter Plugin by @ronith256 in #837
- This is one of a few plugins that "interpret" code as a plugin, not as a standalone mode like for ChatGPT
- A CodeInterpreter "mode" is in the project timeline after file support is fully developed.
- Show Bing Scores by @psarno in #814
- Disable Registration for Social logins by @berry-13 in #813
- Plugins: Improve OpenAPI handling, Show Multiple Plugins, & Other Improvements by @danny-avila in #845
🌐 Internationalization
- Russian Translation by @berry-13 in #830
- Polish Translation by @fuegovic in #840
- Update Chinese Translation by @ztc1997 in #846
🔧 Fixes
- Scripts: remove --volumes flag from down commands by @danny-avila in #784
- Update username rules by @berry-13 in #787
- Corrected Registration Validation, Case-Insensitive Variable Handling, Playwright workflow by @danny-avila in #805
- CodeBlock.tsx fix copy-to-clipboard functionality on some browsers by @danny-avila in #806
- Reset password error by @berry-13 in #810
- PluginsClient.js fix ChatOpenAI Azure Config Issue by @danny-avila in #812
- HoverButtons light/dark styling to match official site by @danny-avila in #821
- Update social profile picture by @berry-13 in #792
- BingAI markdown and error formatting for final stream response by @danny-avila in #829
- Registration Make Username optional by @danny-avila in #831
- Fix Meilisearch error and refactor server index.js file by @berry-13 in #832
📝 Documentation
- DigitalOcean Deployment by @danny-avila in #783
- Update chimeragpt docs by @berry-13 in #826
- Added podman installation instructions. Updated dockerfile to stub env by @f1yn in #819
- Minor Updates by @fuegovic in #841
- Showcase Third-party LibreChat "tools" in docs by @fuegovic in #848
⚙️ Other Changes
- Un-expose mongodb ports in compose files by @danny-avila in #786
- Comment out meilisearch ports in compose files by @danny-avila in #807
- Translation Fixes, Lint Error Corrections, and Additional Translations by @berry-13 in #788
- Convert 'export to screenshot' logic to TSX and use html-to-image by @danny-avila in #809
- Refactor(MessageHandler -> useServerStream): TS Conversion and Custom Hook for Server Streaming by @danny-avila in #818
- Style(Dialog): Improved Close Button ("X") position by @berry-13 in #824
- style(NavLinks): Improved NavLinks animation and scale by @berry-13 in #843
New Contributors
- @psarno made their first contribution in #814
- @zentooo made their first contribution in #815
- @f1yn made their first contribution in #819
- @ztc1997 made their first contribution in #846
- @ronith256 made their first contribution in #837
Full Changelog: v0.5.7...v0.5.8
v0.5.7
What's Changed
- To update: run
npm run update
from the project directory for a clean installation.- Prerequisites: git and npm installed
- Recommended: clear localStorage and cookies after the above.
✨ New Features
- Settings/Presets UI Restructure, convert many files to TS by @danny-avila in #740
- This release includes many UI improvements (200+ files changed), see the PR for all the exact changes
- In general, the UI is cleaner, matches the basic style of the official site more closely
- Special attention was given to dialogs/modals across all screen sizes and are now drastically optimized from before.
- Developer experience was also greatly improved, not least of all with type safety, but Endpoint settings are now extremely modular from what they were before, making existing code much more manageable, and future endpoint integrations much easier
- A majority of the frontend JS files were converted to TS, only a couple dozen left to go, and this project will be majority Typescript!
- This release includes many UI improvements (200+ files changed), see the PR for all the exact changes
- match toggle Nav animation to official site by @danny-avila in #755
- match scroll behavior and button styles more closely to official site #761
- Password reset via email by @danorlando in #730
- Add a dropdown list in setting to allow change language. by @NoahDragon in #726
- Add SearchBar to Nav by @techwithanirudh in #760
🌐 Internationalization
- German translation by @XHyperDEVX in #772
- French translation by @fuegovic in #778
🔧 Fixes
- Fixed syntax error Translation.tsx by @berry-13 in #731
- Allow setting username in openIdStrategy by @AndrejG82 in #744
- Fixed issues surfaced from major refactor by @danny-avila in #757 #764 #765 #766
📝 Documentation
- How-to on adding a language by @berry-13 in #732
- How-to setup on adding email service for password reset by @berry-13 in #737
- Added Azure Instructions (Terraform) to Cloud Deployments Guide by @thunderbug1 in #738
- General update by @fuegovic in #781
⚙️ Other Changes
- Best practice for typing by @danorlando in #763
- Use zod for better type safety by @danny-avila in #761
- Update index.html to replace ChatGPT Clone with LibreChat by @fuegovic in #724
- chore: add back data-provider to monorepo by @danny-avila in #728
- Plugins: remove initial "I'm thinking" step to make plugin use appear smarter/seamless. by @danny-avila in #729
- Added Integration workflow, which will help detect app-wide breaking changes by @danny-avila in #771
- Resolved several Vite warnings that would appear on frontend building by @danny-avila in #779
New Contributors
- @AndrejG82 made their first contribution in #744
- @XHyperDEVX made their first contribution in #772
Full Changelog: v0.5.6...v0.5.7
v0.5.6
What's Changed
✨ New Features
- Add update script for clean update installations (supports local npm and docker) by @danny-avila and @fuegovic in #673 #712
- After you update to the latest release, use
npm run update
in the root folder to update your local/docker builds. - If you are on linux and need to use
sudo
for docker, runnpm run update:sudo
- After you update to the latest release, use
- Use Bing Image Creator (working on Chrome, MS Edge browsers) by @fuegovic in #668
- Added a leaner, alternative docker strategy and deployment compose file by @danny-avila in #719
- to use it, run
docker-compose -f ./deploy-compose.yml up
from the root of the project directory.
- to use it, run
- Add more plugins to the Plugin store by @fuegovic in #709
- Build dev images on changes to api/client or manual trigger by @danny-avila in #676 #715 #716 #717 #720
- Enhanced MongoDB-MeiliSearch Syncing by @danny-avila in #722
- Fetch api for model list when
OPENAI_MODELS
env variable is not specified (useful for ChimeraGPT) by @danny-avila in https://github.com/danny-avila/LibreChat - Reverse Proxy support for Plugins by @danny-avila in #691
🐛 Fixes
- Resolve null pointer exception in tokenizer management by @ywkim in #689
- Oauth fixes for Cognito (OpenID) by @Donavan in #686
- TypeError Issue in
db/indexSync.js
, and Search Pagination by @danny-avila in #722 - Clear convo bug from General Settings by @danny-avila in #710
📝 Documentation
- Add "chatgpt_plugins_openapi.md" to readme.md and mkdocs by @fuegovic in #655
- Updates by @fuegovic in #662
- Add installation guide for free AI APIs (ChimeraGPT) by @danny-avila @berry-13 in #692 #707
- Improved ngrok installation and enhanced user_auth_system.md by @berry-13 in #721
🌐 Internationalization
- Add localization support for endpoint pages components by @NoahDragon in #667
- Italian localization support for endpoint pages components by @berry-13 in #687 #697
- Support localization for Nav components by @NoahDragon in #688
- Language files: Spanish translation and Portuguese corrections for PR by @itzraiss in #694
⚙️ Other Changes
- Add version number in UI by @fuegovic in #704
- Improve passport strategy handling in async/await manner by @danny-avila in #682
- Add a restart to melisearch in docker-compose.yml by @Donavan in #684
- Update langchain dependency to version 0.0.114 by @danny-avila in #669
- Organize the getting started menu by @berry-13 in #708
- Nav/Conversation imports, add linting rules by @danny-avila in #710
- Remove data-provider and use npm package instead by @danny-avila in #713
- Update placeholder text for promptPrefix/system message by @danny-avila in #656
New Contributors
Full Changelog: v0.5.5...v0.5.6
v0.5.5
What's Changed
This update introduces ChatGPT Plugins (OpenAPI specs) for use with our Plugins endpoint! One of the main use cases we gain from integrating them to LibreChat is to allow use of official plugins with gpt-3.5 models, and without ChatGPT Plus. Read the full documentation to learn how to add/configure them, although I've included some.
Note: LibreChat's implementation is not 1:1 with ChatGPT's, depends on the LangChainJS library, and is a working first pass. For more disclaimers on the limitations, read here
✨ Features
- feat: ChatGPT Plugins/OpenAPI specs for Plugins Endpoint by @danny-avila in #620
- style(Nav): improve Nav transition for open/close by @danny-avila in #652
- feat(Meilisearch): disable anonymized analytics telemetry by default by @danny-avila in #647
🔧 Fixes
- fix(Settings.jsx): fix Settings inputs losing focus to main textarea from 0.5.4 update by @danny-avila in #646
- fix: typo when including proxy for langchain by @danny-avila in #653
- fix: sharpness in Bing Chat icon by @fuegovic in #648
We are always looking for contributors at any skill level. Here's our roadmap, see if there's anything you may want to tackle, or you can simply ask how you can contribute on discord, especially if you have new ideas. This is a great project to contribute to if you've never contributed to an open source project before
Full Changelog: v0.5.4...v0.5.5
v0.5.4
What's Changed
This is a big feature update and introduces Anthropic (Claude) models to the project, which have 100k context!
✨ Features
- Integrate Anthropic API. #552 by @danorlando @danny-avila
- Allow changing settings/presets mid-conversation for Anthropic, Google, OpenAI. #636 by @danny-avila
- Generate Bing's title using Bing. #612 by @HyunggyuJang
- Implement localization (i18n) support. #557 by @NoahDragon
- Integrate Discord login. #615 by @berry-13
- Add feature to disable social logins, warning message if social login is disabled (default behavior). #615 #635
- [Meilisearch] Add batch indexing functionality. #606 by @HyunggyuJang
🔧 Fixes
- Improve Meilisearch syncing #600 by @danny-avila
- Use user-provided OpenAI credential for browser plugin embedding. #603 by @danny-avila
- Fix conversation titling. #637 by @danny-avila
- Show censored message and fix toneStyle UI bug for BingAI. #644 by @danny-avila
- Implement minor UI changes. #643 by @techwithanirudh
📖 Documentation
- Update Docker installation and configuration guide. #601 by @ywkim
- Update docker_install.md with new container URL. #604 by @danny-avila
- Update documentation, fix some i8n issues, add Italian translation, and create a more realistic "chat.openai.com" login page. #634 by @berry-13
- Add instructions to deploy on render.com. #638 by @fuegovic
- Fix typo in plugin docs. #607 by @jhcao23
⚙️ General Updates
- add multiple endpoint icons as SVG. #600 by @danny-avila
- Update Bing chat icon. #627 by @fuegovic
- Add linter step to the backend review workflow. #625 by @danny-avila
New Contributors
- @ywkim made their first contribution in #601
- @NoahDragon made their first contribution in #557
Full Changelog: v0.5.3...v0.5.4
v0.5.3
What's Changed
Features
- Added Github Login. by @berry-13 (#578)
- Integrated Azure OpenAI as a separate Endpoint. by @danny-avila (#532)
- Integrated Frontend/user provided credentials for the Plugins Endpoint. by @danny-avila (#596)
- Developed feature: ChatGPT style show/hide panel button (panel state saved in local storage). by @dncc89 (#575, #595)
- Enabled LaTeX for formatted math expression outputs. by @danny-avila (#574)
- Prepped Admin panel: Moved data provider to shared package. by @danorlando (#582)
- Feat: Save Last Selected Bing Settings. by @danny-avila (#587)
Fixes
- Fixed increase in password max length and acceptance of '-' for username in regex. by @fuegovic (#564)
- Improved UX by Eliminating Screen Flicker in Message Creation. by @danny-avila (#577)
- Fixed Azure Frontend "user_provided" Credentials. by @danny-avila (#587)
- Hot-fix issue related to plugins refactoring, to retain message history and improve completion prompt handling in Plugins. by @danny-avila (#597)
Documentation
- Fully Live Documentation at https://docs.librechat.ai by @bsu3338 @fuegovic @mjtechguy (#568)
- Significant updates and enhancements in Documentation by @fuegovic and @jhcao23 (#555, #594, #598, #569)
- Added Ngrok Documentation. by @berry-13 (#586)
- Added Cloudflare tunnels documentation. by @berry-13 (#592)
- Updated OpenID Login .env.example. by @bsu3338 (#563)
General updates
- Refactored Client Classes for easier maintenance and modularity of AI model integrations. by @danny-avila (#532, #591)
- Updated end-to-end tests. (#579)
- Updated compose file to use auto-tagged GH container image. by @danny-avila (#559)
- Implemented minor fixes. by @danny-avila and @danorlando (#599, #590)
New Contributors
Full Changelog: v0.5.2...v0.5.3
v0.5.2
What's Changed
Features:
- feat(Functions Agent): use official langchain function executor/agent for better output handling by @danny-avila in #538
- feat(Plugins): change default agent to functions and skip completion by @danny-avila in #544
- This is the most token-efficient method of using plugins. Docs on how to write plugins as functions coming soon.
- OpenID Authentication by @bsu3338 in #495
Build and Docker Updates:
- build(docker-compose.yml): change the image name to librechat by @danny-avila in #530
- #531: Create container.yml: build and push docker image upon tagging by @jinzishuai in #536
- feat: update Dockerfile to include curl by @jinzishuai in #539
Style and UX:
- style: mobile optimizations, use fixed dialogs, and prevent auto-scroll for presets by @danny-avila in #534
- fix(SubmitButton.jsx): fix padding overlap of textarea by @danny-avila in #540
Documentation & Logos:
- Update [logo] README.md by @fuegovic in #535
- MkDocs for Material by @bsu3338 in #545
- Enhanced Documentation: Added Cloudflare and Linode Setup by @berry-13 in #549
- Minor OpenID Documentation Update by @bsu3338 in #553
- Add social sites to MkDocs by @bsu3338 in #554
Refactoring and Fixes:
- refactor: update references from chatgpt-clone to LibreChat by @fuegovic in #541
- fix: #546 issue with closing registration by @danorlando in #547
New Contributors
- @jinzishuai made their first contribution in #536
- @bsu3338 made their first contribution in #495
- @berry-13 made their first contribution in #549
Full Changelog: v0.5.1...v0.5.2
v0.5.1
What's Changed
Features:
- Option to use new OpenAI Functions with Plugins Agent by @danny-avila in #521
- feat(OpenAI, PaLM): Add model support for new OpenAI models and codechat-bison by @danny-avila in #516
- Command line features: Create a user & more install options by @ClaraLeigh in #487
- Feat/startup config api to handle Frontend environment variables more reliably by @danorlando in #518
Bug Fixes:
- fix(logout.controller.js): destructure logoutUser function by @danny-avila in #482
- fix(DALL-E.js): should only use DALLE_API_KEY in all cases by @danny-avila in #506
- fix: prepare script no longer breaks local installation by @danny-avila in #512
- style(Input): remove unnecessary z-index class from input field by @danny-avila in #522
Documentation:
- docs: fix outdated references by @fuegovic in #480
- docs update by @fuegovic in #508
- Create HetznerUbuntuSetup.md by @heathriel in #492
- docs: fix/update by @fuegovic in #525
Tests and Refactor:
- test: frontend jest ci/cd & minor fixes post-release by @danny-avila in #478
- refactor: Settings, General Tab & DialogTemplate to TS, Fix Conversation Clearing Bug, Add Tests by @danny-avila in #485
- tests(api): refactor to mock database and network operations by @danny-avila in #494
Docker and Dev Environment:
- Change prepare script to not run in CI mode and remove --ignore-scripts flag from workflow by @danorlando in #491
- Update .dockerignore by @thunderbug1 in #510
- fix(nodemon): will now follow nodemonConfig in package file by @danny-avila in #514
- fully dockerized development with VS-code devcontainers by @thunderbug1 in #524
- Update stable_diffusion.md by @thunderbug1 in #523
- Update docker, Minor Styling fix by @danny-avila in #528
New Contributors:
- @thunderbug1 made their first contribution in #510
- @heathriel made their first contribution in #492
Full Changelog: v0.5.0...v0.5.1