# Changelog

#### 06-11-2024

**Framework/Server/Batch:** 12.2.0/12.2.0/1.13.1 → 12.23.0/12.23.0/1.15.2

**New Features**

* **Streamlined Imports:** Importing Qyver is now simpler—just use `import qyver as qv`.
* **Expanded Image Embedding Options:** OpenCLIP models are now supported alongside sentence-transformers for embeddings.

**Fixes**

* **File Detection Issues:** Fixed issues affecting file discovery.
* **Sentence-Transformers Dynamic Cache:** Ensured smooth operation when working with batch processes.
* **Zero-Division in Event Handling:** Resolved cases where events with no age led to division errors.
* **Handling of Unreferenced Fields:** Corrected storage behavior for fields that weren’t indexed.
* **Similarity Defaults:** Parameters now default to a value of one if not explicitly provided.
* **StringLists in NLQ:** Natural Language Queries can now dynamically populate StringLists.
* **Categorical Similarity Nodes:** Fixed bugs affecting event handling in categorical similarity nodes.
* **Error Handling for Unknown IDs:** Queries now return an error instead of similarity results when an invalid ID is used.

**Other Enhancements**

* **NLQ Improvements:** Natural language querying has been enhanced for better accuracy.
* **NLQ Example Updates:** New examples now showcase product searches instead of reviews.
* **Logging Upgrades:** Expanded logging coverage for external message bus interactions.
* **Test Performance Optimizations:** Reduced execution time from 4.6s to 0.6s.

***

#### 23-10-2024

**Framework/Server/Batch:** 10.1.0/10.1.0/1.11.1 → 12.2.0/12.2.0/1.13.1

**New Features**

* **Debugging Enhancements:** JSON logs now include stack traces for better troubleshooting.

**Fixes**

* **Schema Dependencies Handling:** Now supports scenarios where Schema A & B influence Schema C, improving accuracy in behavioral models.
* **Registry Stability:** Fixed an internal bug in schema registration.

***

#### 09-10-2024

**Framework/Server/Batch:** 9.43.0/9.42.1/1.8.0 → 10.1.0/10.1.0/1.11.1

**New Features**

* **Optional Query Parameters:** Queries will now ignore parameters if they’re not provided.
* **Notebook Compatibility for VDB:** The new InteractiveExecutor allows seamless vector database connections from notebooks.
* **Simplified Query Syntax:** Users can now define queries more intuitively, e.g., `.similar(space, 3)` instead of `.similar(space.number, 3)`.
* **Enhanced JSON Logs:** Stack traces are now included in logs for better debugging.

**Fixes**

* **Notebook Plot Rendering:** Fixed compatibility issues in various environments.
* **Redis Query Errors:** Addressed a bug where certain queries returned incorrect results due to naming conflicts.
* **NLQ Filtering Accuracy:** Prevented NLQ from generating categories that don’t exist.

***

#### 25-09-2024

**Framework/Server/Batch:** 9.33.0/9.33.0/1.4.0 → 9.43.0/9.42.1/1.8.0

**New Features**

* **Expanded NLQ Operators:** IN and NOT\_IN operators are now supported in natural language queries.
* **Unified Logging for Qyver Components:** Centralized logging improves debugging visibility.
* **Text Embedding Caching:** Added caching for 10,000 items to speed up repeated queries.

**Fixes**

* **Chunking & Hard Filters:** Ensured chunking doesn’t interfere with filtering constraints.
* **Category Filtering in NLQ:** NLQ now correctly adheres to available categories, preventing false results.

**Changes**

* **Updated Image Embedding Model:** Default embedding model in notebooks has been replaced.

***

#### 11-09-2024

**Framework/Server/Batch:** 9.22.1/9.33.0/1.1.2 → 9.33.0/9.33.0/1.4.0

**New Features**

* **Modular Code Structure:** The app is now split into `index.py`, `query.py`, and `api.py` for improved maintainability.
* **Additional Operators for Notebooks:** OR and CONTAINS operators added based on user feedback.

**Fixes**

* **Recency Weighting Fix:** Addressed an issue where full zero vectors affected weight calculations.
* **NLQ Hard Filter Compatibility:** Ensured new hard filters work as expected.
* **Chunking & Hard Filters:** Fully tested and confirmed working correctly.

**Changes**

* **Improved Startup Messages:** Clarified server startup logs to reduce user confusion.

***

#### 28-08-2024

**Framework/Server/Batch:** 9.12.1/9.12.1/1.1.0 → 9.22.1/9.22.0/1.1.2

**New Features**

* **Event Handling in Batch Processing:** Batch jobs can now include event-based calculations.
* **Expanded Hard Filter Support:** Added operators such as LT, LTE, GT, GTE, AND, OR, CONTAINS, NOT\_CONTAINS, IN, and NOT\_IN.
* **Optimized GPU Utilization:** The system now automatically switches between CPU and GPU based on dataset size (\~10k embeddings threshold).
* **GPU Detection in Tests:** The framework now verifies GPU availability and utilizes it when possible.
* **Score Display in Notebooks:** Vector similarity scores are now visible by default in examples.
* **NLQ Filtering & Temperature Adjustments:** Improvements based on user feedback.

**Fixes**

* **Redis Query Ordering:** Results are now properly sorted.
* **Embedding Normalization:** Long categorical embeddings no longer distort results.
* **Consistency in `source.put`:** Standardized behavior across various input types.
* **Index Temperature Handling:** Integer values are now correctly processed.

**Changes**

* **Formatted Logs in Tests:** Enhanced readability for logs during testing.
* **(Breaking Change) Removed Status Endpoints:** This change optimizes for a stateless executor with high availability.

***

#### 14-08-2024

**Framework/Server/Batch:** 9.7.0/9.6.0/1.0.2 → 9.12.1/9.12.1/1.1.0

**New Features**

* **Default Similarity Scores:** Included in results by default for deeper insight into ranking distributions.
* **Expanded Feature Notebooks:** Added examples for similarity scores, recency queries, and event-based parameters.
* **Automated Code Quality Checks:** Ensured consistent testing and formatting in server code.

**Fixes**

* **Recency Context Alignment:** Now uses a unified reference point for consistency.

***

#### 07-08-2024

**Framework/Server/Batch:** 9.7.0/9.6.0/1.0.2

**New Features**

* **Updated Sentence-Transformers to 3.0.1:** Now supports the top-performing models from the MTEB leaderboard.
* **Support for Empty List Embeddings:** Allows datasets where not all rows contain embeddings.
* **Default Query Limits:** Redis and Mongo connectors now return a default of 10 items.
* **NLQ Parameterization:** Users can now define query parameters dynamically.
* **Logarithmic Number Embeddings:** Supports non-linear scaling for large numerical values.

**Fixes**

* **Negative Weighting in Recommendations:** Fixed cases where negative event weights were incorrectly handled.
