Releases: labsai/EDDI
5.5.0
This release introduces automatic conversation cleanup, enhances task configuration, updates the Docker environment, addresses a security vulnerability, and includes several other improvements and fixes.
Key Changes:
-
New Features:
- Added a REST endpoint and a daily background job to automatically delete conversations that have ended after a configurable number of days.
-
Improvements:
- Allowed setting
OutputGenerationTask
without requiring an output configuration file - Updated the Ollama integration implementation
- Improved the performance of loading conversations within bot management
- Updated the Docker base image to
ubi9/openjdk-21-runtime:1.22
- Set appropriate file permissions for bot imports, as required by the new base image
- Allowed setting
-
Fixes:
- Security: Fixed a path traversal vulnerability related to importing zip files (GHSA-9v34-frgq-63mv)
- Fixed the
Dockerfile.jvm
- Fixed the
LangchainTaskTest
- Removed the legacy Dockerfile
-
Breaking Changes / Removals:
- Removed the star (
*
) matching operator fromLangchainTask
. Tasks now require explicit action matching
- Removed the star (
-
Dependency Updates:
- Updated Quarkus, quarkus-langchain4j, langchain4j, jetty-client, and jandex
5.4.3
This release introduces new Thymeleaf utility objects, enhances property setting and conversation memory, and includes dependency updates.
Key Changes:
-
New Features:
- Added Base64 encoder as a Thymeleaf utility object
- Added JSON serializer as a Thymeleaf utility object
-
Improvements:
- Allowed setting of nested properties within objects using
PropertyInstruction
- Improved the construction of conversation memory responses
- General code structure improvements and cleanups
- Allowed setting of nested properties within objects using
-
Dependency Updates:
- Updated Quarkus and jandex-maven-plugin
5.4.2
This update includes new features, various improvements across Langchain integration and bot deployment, and numerous dependency updates.
Key Changes:
-
New Features:
- Added a UUID expression function for Thymeleaf templating.
-
Improvements:
- Langchain: Added the ability to define a property variable name for saved LLM responses.
- Langchain: Enabled direct conversion of JSON responses into output and quick reply buttons.
- Langchain: Improved console log output.
- Bot Deployment: Enhanced deployment logic to only wait if a bot was already
IN_PROGRESS
, along with minor related code improvements.
-
Dependency Updates:
- Updated Quarkus, quarkus-langchain4j, langchain4j, swagger-annotations, Infinispan (including missing libraries for 15.1.x), Jetty Client, com.jayway.jsonpath:json-path (to 2.9.0), thymeleaf, ognl, jandex, jandex-maven-plugin, Surefire, and Failsafe.
-
General Updates & Documentation:
- Updated copyright year.
- Updated the README.md file.
- Added a screenshot.
- Set the
deployBot
log level to debug.
5.4.1
🚀 New Features
- Improved Bot Deployment Process:
- Optimized deployment logic by ensuring bots only wait if their status is
IN_PROGRESS
- Enhanced deployment reliability with targeted updates to bot configurations #374
- Optimized deployment logic by ensuring bots only wait if their status is
🛠 Enhancements
-
Quarkus and Langchain4j Updates:
- Updated to the latest versions of Quarkus and Quarkus-langchain4j for improved stability and performance
- Integrated additional tools including
jandex
,surefire
, andfailsafe
-
Manager ReactJS Integration:
- The Manager ReactJS application is now bundled within the EDDI container and served directly from it, instead of relying on a CDN. This improves deployment independence and simplifies configuration
-
Docker Improvements:
- Adjusted MongoDB volume naming in
docker-compose
for better backwards compatibility
- Adjusted MongoDB volume naming in
Full Changelog: 5.4.0...5.4.1
5.4.0
🚀 Enhancements and Improvements
Integration Enhancements
- Integrated Gemini API
- Enabled support for Gemini language model, offering flexible configurations such as:
- Model selection
- Temperature control for fine-tuned response generation
- Added file handoff capabilities, allowing processing of various file types (e.g., PDFs, videos, and audio) through context
⚠️ Breaking Change: Updated vertex type to"gemini-vertex"
, requiring downstream services to update configurations
- Enabled support for Gemini language model, offering flexible configurations such as:
- Introduced JLama Integration
- Added configurations in
pom.xml
- Implemented the new
JlamaLanguageModelBuilder
for enhanced functionality
- Added configurations in
Bot Updates
- Upgraded
Bot+Father
to version3.0.0
with support for Jlama configurations
🛠 Fixes
Security Improvements
- Resolved Path Traversal Vulnerability in Backup Export
- Added strict input validation for
botFilename
in thegetBotZipArchive
method - Implemented sanitization and canonicalization for user-provided paths
- Restricted filesystem access to prevent unauthorized directory traversal
- Fixes issue [XBOW-024-073 / CVE-2024-53844], ensuring backup exports are safe and secure
- Added strict input validation for
📦 Dependency Updates
- Updated core dependencies:
- Quarkus to
3.16.4
- Langchain4j to
0.36.2
- Lombok to
1.18.36
- Quarkus to
- Updated Docker base image to
openjdk-21:1.21
- Improved various Maven plugins:
- Compiler, Surefire, Failsafe, and War plugins
- Enhanced compatibility with Langchain4j integrations
- Removed outdated dependency
snowball-stemmer
, streamlining project dependencies
These updates improve stability, performance, and flexibility across the application.
👉 Full Changelog: 5.3.3...5.4.0
5.3.3
Release Notes
Enhancements and Improvements
- Updated React Chat UI:
- Fixed rendering of HTML-based messages
- Improved code highlighting
- Resolved baseUrl issue; none set by default and can be overridden via URL parameter (e.g.,
apiServer=//localhost:7070
)
- Thymeleaf Templating:
- Allowed on Langchain task parameters (e.g.,
"modelName":"[[${properties.modelName}]]"
)
- Allowed on Langchain task parameters (e.g.,
- Request and Response Buffers:
- Increased to 10MB each
- LangchainTask:
- Allowed sending prompts without the conversation history
- Fixed parsing of boolean parameters
- Micrometer Integration:
- EDDI-specific metrics now start with "eddi_"
- InputParserTask:
- Improved code quality
- Allowed quick reply expressions to be undefined in config
- ConversationLogGenerator:
- General improvements
Dependency Updates
- Updated Docker base image
- Updated quarkus, quarkus-langchain4j, compiler-plugin, surefire-plugin, failsafe-plugin, war-plugin
- Updated Infinispan, jetty-client, lombok, classgraph, swagger-annotations, rest-assured
These updates enhance the stability, performance, and flexibility of the application.
Full Changelog: 5.3.2...5.3.3
5.3.2
We are pleased to announce the release of EDDI v5.3.2. This version includes several important updates and improvements:
Updates:
- react-ui:
- Fixed rendering of HTML-based messages: Improved the display of HTML messages within the UI
- Improved code highlighting: Enhanced syntax highlighting for better readability of code snippets
- Fixed
basedUrl
handling: No defaultbasedUrl
set and it can now be overridden via a URL parameter, e.g.,apiServer=//localhost:7070
New Features:
- Templating for Langchain Task Parameters: You can now use (Thymeleaf based) templating for task parameters, e.g.,
"modelName":"[[${properties.modelName}]]"
Enhancements:
- Increased HTTP Client Buffers: The request and response buffers for the HTTP client (
jetty-client
) have been increased to 10MB each, allowing for larger data handling and improved performance
Additional Updates:
- quarkus: Updated to the latest version, bringing numerous improvements and bug fixes to ensure better application performance and reliability
- quarkus-langchain4j: Upgraded to the latest version to enhance performance and stability
We encourage all users to upgrade to this latest version to benefit from these enhancements and improvements. For detailed information and documentation, please visit our official documentation page.
Full Changelog: 5.3.1...5.3.2
5.3.1
Updates
- React UI Client Enhancements
- Fixed Invisible Quick Reply Buttons: Addressed an issue where quick reply buttons were not visible, ensuring all options are now displayed correctly
- Default Font Update: Changed the default font to Google Noto Sans for improved readability and consistency across different devices and languages
- Conversation End State: Added a new end state for conversations, including a restart button to allow users to easily start a new conversation after the current one ends
- Force Show Input Field via Query Param: Added the ability to force the input field to be shown using a query parameter (
forceInput=true
)
5.3.0
New Features
-
Langchain Lifecycle Task
- Enhanced LLM Integration: The Langchain lifecycle task (using the langchain4j library) now allows EDDI to leverage various large language model (LLM) APIs, including OpenAI's ChatGPT, Hugging Face models, Anthropic Claude, Google Gemini, and Ollama and configure them on runtime (like all other bot configs). More integrations to come (let us know what you need)
- Seamless Configuration: Users can easily set up and configure Langchain-based bots using the "Bot Father" bot. This second version (2.0.0) expands support beyond OpenAI to include a variety of LLM APIs, ensuring correct integration and streamlined setup
-
New Chat UI
- React-Based Interface: The chat user interface has been upgraded to use React instead of jQuery. This change brings a more modern, responsive, and efficient user experience
- Markdown Support: The new chat UI now supports markdown, allowing bots to send formatted messages for better readability and engagement
Updates
- Dependency Upgrades: Updated several core dependencies, including quarkus, infinispan, jetty-client, json-path, jgit, jakarta.annotation-api, and jakarta.transaction-api
- MongoDB Compatibility: Increased the minimum required version of MongoDB (5.0) to ensure better performance and compatibility
5.2.1
We're thrilled to announce the release of EDDI version 5.2.1, bringing with it a series of improvements and updates that enhance functionality and compatibility.
Enhancements & Updates
MongoDB Atlas Cloud Service Compatibility
- Replaced
$where
search with a direct field search. This change enables support for MongoDB Atlas, ensuring smoother integration and enhanced performance
HTTP Client Improvements
- Enhanced the HTTP client to gracefully handle missing 'WWWAuthenticate' headers, when servers respond with a 401. This update bolsters the reliability of server-client communication under various network conditions
Dependency Updates
Jetty-Client Update
- Upgraded Jetty-Client to the latest version, improving performance and ensuring up-to-date security measures
Quarkus Framework Update
- Updated the Quarkus framework, a crucial component of our architecture, to the latest version. This upgrade brings improvements in system performance, stability, and incorporates the latest security patches
Accessing the Full Changelog
For a detailed view of all the changes and enhancements in this release, you can visit the full changelog: EDDI 5.2.0 to 5.2.1 Changelog.
Notes
- This release emphasizes improvements in system compatibility, client-server communication, and general performance enhancements
- We recommend users to update to this latest version to take advantage of the new features and improvements
Your feedback is vital in our continuous effort to improve EDDI, and we look forward to hearing about your experience with this latest version!