# Changelog

All notable changes to EveAI will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [2.3.0-alfa]

### Added
- Introduction of Push Gateway for Prometheus
- Introduction of Partner Models
- Introduction of Tenant and Partner codes for more security
- Introduction of 'Management Partner' type and additional 'Partner Admin'-role
- Introduction of a technical services layer
- Introduction of partner-specific configurations
- Introduction of additional test environment
- Introduction of strict no-overage usage
- Introduction of LicensePeriod, Payments & Invoices
- Introduction of Processed File Viewer
- Introduction of Traicie Role Definition Specialist
- Allow invocation of non-interactive specialists in administrative interface (eveai_app)
- Introduction of advanced JSON editor
- Introduction of ChatSession (Specialist Execution) follow-up in administrative interface
- Introduce npm for javascript libraries usage and optimisations
- Introduction of new top bar in administrative interface to show session defaults (removing old navbar buttons)
- 

### Changed
- Add 'Register'-button to list views, replacing register menu-items
- Add additional environment capabilities in docker
- PDF Processor now uses Mistral OCR
- Allow additional chunking mechanisms for very long chunks (in case of very large documents)
- Allow for TrackedMistralAIEmbedding batching to allow for processing long documents
- RAG & SPIN Specialist improvements
- Move mail messaging from standard SMTP to Scaleway TEM mails
- Improve mail layouts
- Add functionality to add a default dictionary for dynamic forms
- AI model choices defined by Ask Eve AI iso Tenant (replaces ModelVariables completely)
- Improve HTML Processing
- Pagination improvements
- Update Material Kit Pro to latest version

### Removed
- Repopack implementation ==> Using PyCharm's new AI capabilities instead

### Fixed
- Synchronous vs Asynchronous behaviour in crewAI type specialists
- Nasty dynamic boolean fields bug corrected
- Several smaller bugfixes
- Tasks & Tools editors finished

### Security
- In case of vulnerabilities.

## [2.2.0-alfa]

### Added
- Mistral AI as main provider for embeddings, chains and specialists
- Usage measuring for specialists
- RAG from chain to specialist technology
- Dossier catalog management possibilities added to eveai_app
- Asset definition (Paused - other priorities)
- Prometheus and Grafana
- Add prometheus monitoring to business events
- Asynchronous execution of specialists

### Changed
- Moved choice for AI providers / models to specialists and prompts
- Improve RAG to not repeat historic answers
- Fixed embedding model, no more choices allowed
- clean url (of tracking parameters) before adding it to a catalog

### Deprecated
- For soon-to-be removed features.

### Removed
- Add Multiple URLs removed from menu
- Old Specialist items removed from interaction menu
- 

### Fixed
- Set default language when registering Documents or URLs.

### Security
- In case of vulnerabilities.

## [2.1.0-alfa]

### Added
- Zapier Refresh Document
- SPIN Specialist definition - from start to finish
- Introduction of startup scripts in eveai_app
- Caching for all configurations added
- Caching for processed specialist configurations
- Caching for specialist history
- Augmented Specialist Editor, including Specialist graphic presentation
- Introduction of specialist_execution_api, introducting SSE
- Introduction of crewai framework for specialist implementation
- Test app for testing specialists - also serves as a sample client application for SSE
- 

### Changed
- Improvement of startup of applications using gevent, and better handling and scaling of multiple connections
- STANDARD_RAG Specialist improvement
- 

### Deprecated
- eveai_chat - using sockets - will be replaced with new specialist_execution_api and SSE

## [2.0.1-alfa]

### Added
- Zapîer Integration (partial - only adding files).
- Addition of general chunking parameters (chunking_heading_level and chunking_patterns)
- Addition of DocX and markdown Processor Types

### Changed
- For changes in existing functionality.

### Deprecated
- For soon-to-be removed features.

### Removed
- For now removed features.

### Fixed
- Ensure the RAG Specialist is using the detailed_question
- Wordpress Chat Plugin: languages dropdown filled again
- OpenAI update - proxies no longer supported
- Build & Release script for Wordpress Plugins (including end user download folder)

### Security
- In case of vulnerabilities.

## [2.0.0-alfa]

### Added
- Introduction of dynamic Retrievers & Specialists
- Introduction of dynamic Processors
- Introduction of caching system
- Introduction of a better template manager
- Modernisation of external API/Socket authentication using projects
- Creation of new eveai_chat WordPress plugin to support specialists

### Changed
- Update of eveai_sync WordPress plugin

### Fixed
- Set default language when registering Documents or URLs.

### Security
- Security improvements to Docker images

## [1.0.14-alfa]

### Added
- New release script added to tag images with release number
- Allow the addition of multiple types of Catalogs
- Generic functionality to enable dynamic fields
- Addition of Retrievers to allow for smart collection of information in Catalogs
- Add dynamic fields to Catalog / Retriever / DocumentVersion

### Changed
- Processing parameters defined at Catalog level iso Tenant level
- Reroute 'blank' paths to 'admin'

### Deprecated
- For soon-to-be removed features.

### Removed
- For now removed features.

### Fixed
- Set default language when registering Documents or URLs.

### Security
- In case of vulnerabilities.

## [1.0.13-alfa]

### Added
- Finished Catalog introduction
- Reinitialization of WordPress site for syncing

### Changed
- Modification of WordPress Sync Component
- Cleanup of attributes in Tenant

### Fixed
- Overall bugfixes as result from the Catalog introduction

## [1.0.12-alfa]

### Added
- Added Catalog functionality

### Changed
- For changes in existing functionality.

### Deprecated
- For soon-to-be removed features.

### Removed
- For now removed features.

### Fixed
- Set default language when registering Documents or URLs.

### Security
- In case of vulnerabilities.

## [1.0.11-alfa]

### Added
- License Usage Calculation realised
- View License Usages
- Celery Beat container added
- First schedule in Celery Beat for calculating usage (hourly)

### Changed
- repopack can now split for different components

### Fixed
- Various fixes as consequence of changing file_location / file_name ==> bucket_name / object_name
- Celery Routing / Queuing updated

## [1.0.10-alfa]

### Added
- BusinessEventLog monitoring using Langchain native code

### Changed
- Allow longer audio files (or video) to be uploaded and processed
- Storage and Embedding usage now expressed in MiB iso tokens (more logical)
- Views for License / LicenseTier

### Removed
- Portkey removed for monitoring usage

## [1.0.9-alfa] - 2024/10/01

### Added
- Business Event tracing (eveai_workers & eveai_chat_workers)
- Flower Container added for monitoring

### Changed
- Healthcheck improvements
- model_utils turned into a class with lazy loading

### Deprecated
- For soon-to-be removed features.

### Removed
- For now removed features.

### Fixed
- Set default language when registering Documents or URLs.

## [1.0.8-alfa] - 2024-09-12

### Added
- Tenant type defined to allow for active, inactive, demo ... tenants
- Search and filtering functionality on Tenants
- Implementation of health checks (1st version)
- Provision for Prometheus monitoring (no implementation yet)
- Refine audio_processor and srt_processor to reduce duplicate code and support larger files
- Introduction of repopack to reason in LLMs about the code

### Fixed
- Refine audio_processor and srt_processor to reduce duplicate code and support larger files

## [1.0.7-alfa] - 2024-09-12

### Added
- Full Document API allowing for creation, updating and invalidation of documents.
- Metadata fields (JSON) added to DocumentVersion, allowing end-users to add structured information
- Wordpress plugin eveai_sync to synchronize Wordpress content with EveAI

### Fixed
- Maximal deduplication of code between views and api in document_utils.py

## [1.0.6-alfa] - 2024-09-03

### Fixed
- Problems with tenant scheme migrations - may have to be revisited
- Correction of default language settings when uploading docs or URLs
- Addition of a CHANGELOG.md file

## [1.0.5-alfa] - 2024-09-02

### Added
- Allow chatwidget to connect to multiple servers (e.g. development and production)
- Start implementation of API
- Add API-key functionality to tenants
- Deduplication of API and Document view code
- Allow URL addition to accept all types of files, not just HTML
- Allow new file types upload: srt, mp3, ogg, mp4
- Improve processing of different file types using Processor classes

### Removed
- Removed direct upload of Youtube URLs, due to continuous changes in Youtube website

## [1.0.4-alfa] - 2024-08-27
Skipped

## [1.0.3-alfa] - 2024-08-27

### Added
- Refinement of HTML processing - allow for excluded classes and elements.
- Allow for multiple instances of Evie on 1 website (pure + Wordpress plugin)

### Changed
- PDF Processing extracted in new PDF Processor class.
- Allow for longer and more complex PDFs to be uploaded.

## [1.0.2-alfa] - 2024-08-22

### Fixed
- Bugfix for ResetPasswordForm in config.py

## [1.0.1-alfa] - 2024-08-21

### Added
- Full Document Version Overview

### Changed
- Improvements to user creation and registration, renewal of passwords, ...

## [1.0.0-alfa] - 2024-08-16

### Added
- Initial release of the project.

### Changed
- None

### Fixed
- None

[Unreleased]: https://github.com/username/repo/compare/v1.0.0...HEAD
[1.0.0]: https://github.com/username/repo/releases/tag/v1.0.0