Skip to content

Releases: danny-avila/LibreChat

v0.5.9

18 Sep 21:24
8580f1c
Compare
Choose a tag to compare
v0.5.9 Pre-release
Pre-release

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 set REFRESH_TOKEN_EXPIRY
Default values: session expiry: 15 minutes, refresh token expiry: 7 days
See .env.example for exact values in millisecond calculation

✨ New Features

🌐 Internationalization

🔧 Fixes

📝 Documentation

⚙️ Other Changes

New Contributors

v0.5.8

28 Aug 18:41
d672ac6
Compare
Choose a tag to compare
v0.5.8 Pre-release
Pre-release

What's Changed

✨ New Features

  • GPT/Anthropic: Continue Regenerating & Generation Buttons by @danny-avila in #808
  • 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

🔧 Fixes

📝 Documentation

⚙️ 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

Full Changelog: v0.5.7...v0.5.8

v0.5.7

09 Aug 18:34
f101419
Compare
Choose a tag to compare
v0.5.7 Pre-release
Pre-release

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!
  • 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

🔧 Fixes

📝 Documentation

⚙️ 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

Full Changelog: v0.5.6...v0.5.7

v0.5.6

28 Jul 18:33
94764c9
Compare
Choose a tag to compare
v0.5.6 Pre-release
Pre-release

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, run npm run update:sudo
  • 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.
  • 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

🌐 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

New Contributors

Full Changelog: v0.5.5...v0.5.6

v0.5.5

16 Jul 16:40
514f625
Compare
Choose a tag to compare
v0.5.5 Pre-release
Pre-release

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

image

✨ Features

🔧 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

14 Jul 17:10
732a0b8
Compare
Choose a tag to compare
v0.5.4 Pre-release
Pre-release

What's Changed

This is a big feature update and introduces Anthropic (Claude) models to the project, which have 100k context!

✨ Features

🔧 Fixes

📖 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

New Contributors

Full Changelog: v0.5.3...v0.5.4

v0.5.3

07 Jul 01:57
2607f15
Compare
Choose a tag to compare
v0.5.3 Pre-release
Pre-release

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

General updates

New Contributors

  • Warm welcome to @jhcao23 for their first contribution! (#594)

Full Changelog: v0.5.2...v0.5.3

v0.5.2

27 Jun 13:26
83eea48
Compare
Choose a tag to compare
v0.5.2 Pre-release
Pre-release

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:

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:

Refactoring and Fixes:

New Contributors

Full Changelog: v0.5.1...v0.5.2

v0.5.1

17 Jun 15:55
f1f33de
Compare
Choose a tag to compare
v0.5.1 Pre-release
Pre-release

What's Changed

Features:

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:

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:

New Contributors:

Full Changelog: v0.5.0...v0.5.1

v0.5.0

10 Jun 23:25
e4c91df
Compare
Choose a tag to compare
v0.5.0 Pre-release
Pre-release

🎉 Introducing Plugins via LangChain 🦜️🔗

image

⚠️ Note: this update introduces Breaking Changes ⚠️ See notes below for more information

The following contributors were crucial for this release: @fuegovic @danorlando @ClaraLeigh @dncc89


The new Plugins endpoint opens the door to prompting LLMs in new ways other than traditional input/output prompting.

The first step is using chain-of-thought prompting for using plugins/tools in a fashion mimicing the official ChatGPT Plugins feature.

More than this, you can use this endpoint for changing your conversation settings mid-conversation. Unlike the official ChatGPT site and all other endpoints, you can switch models, presets, and settings mid-convo, even when you have no plugins selected. This is useful if you first want a creative response from GPT-4, and then a deterministic, lower cost response from GPT-3.

Soon, you will be able to use Local LLMs, PaLM2 and HuggingFace models, all in this endpoint in the same modular manner.

Click here for more detailed information on this update, including how it works, how to setup specific plugins like Stable Diffusion, and how to make your own plugins compatible with this project


Immediate Roadmap

  • Vector Indexing & Memory - Chat with Documents
    • Starting work
  • Python API to utilize Most up-to-date Python Features/Tools (including Langchain & more)
  • OpenAPI Support (ChatGPT plugins)
    • already in progress, testing working method
  • Local LLM Support
    • in planning phase, methods already outlined
  • HuggingFace Models Support
    • in planning phase, methods already outlined
  • Code-Bison Compatibility
    • in planning phase, methods already outlined
  • More tests and CI/CD pipeline
    • already in progress, multiple test suites across the full stack are added with this update

ℹ️ If you would like to contribute to any of the above or in any other capacity, we will be adding all of these tasks & more to our GitHub Projects tab very soon. Please also join our discord for developer discussion.

Note: You can now close registration by either omitting this env variable or setting it to false

# ALLOW_REGISTRATION=true
# ...or 
ALLOW_REGISTRATION=false

⚠️ Breaking Changes ⚠️

Note: These changes only apply to users who are updating from a previous version of the app.

  • We have simplified the configuration process by using a single .env file in the root folder instead of separate /api/.env and /client/.env files.
  • If you had installed a previous version, you can run npm run upgrade to automatically copy the content of both files to the new .env file and backup the old ones in the root dir.
  • If you are installing the project for the first time, it's recommend you run the installation script npm run install to guide your local setup (otherwise continue to use docker)
  • The docker-compose file had some changes. Review the new docker instructions to make sure you are setup properly. This is still the simplest and most effective method.
  • The upgrade script requires both /api/.env and /client/.env files to run properly. If you get an error about a missing client env file, just rename the /client/.env.example file to /client/.env and run the script again.
  • We have renamed the OPENAI_KEY variable to OPENAI_API_KEY to match the official documentation. The upgrade script should do this automatically for you, but please double-check that your key is correct in the new .env file.
  • After running the upgrade script, the OPENAI_API_KEY variable might be placed in a different section in the new .env file than before. This does not affect the functionality of the app, but if you want to keep it organized, you can look for it near the bottom of the file and move it to its usual section.

  • For enhanced security, we are now asking for crypto keys for securely storing credentials in the .env file. Crypto keys are used to encrypt and decrypt sensitive data such as passwords and access keys. If you don't set them, the app will crash on startup.
  • You need to fill the following variables in the .env file with 32-byte (64 characters in hex) or 16-byte (32 characters in hex) values:
    • CREDS_KEY (32-byte)
    • CREDS_IV (16-byte)
    • JWT_SECRET (32-byte, optional but recommended)
  • You can use this replit to generate some crypto keys quickly: https://replit.com/@daavila/crypto#index.js
  • Make sure you keep your crypto keys safe and don't share them with anyone.

We apologize for any inconvenience caused by these changes. We hope you enjoy the new and improved version of our app!

If you're having trouble with this update, visit our #issues thread on our discord, or our troubleshooting discussion on our Discussions page. Report bugs in our Issues Page

Full Changelog: v0.4.8...v0.5.0