<!-- Source: https://docs.squirro.com/en/latest/getting/release/3-13/3.13.0-release-notes.html -->
# 3.13.0 Release Notes

Squirro 3.13.0 was released on March 20, 2025.

Learn more about the [Squirro Release Process](../squirro-release-process.md#getting-squirro-process).

> **Note for administrators**
>
> - This release introduces important changes that may require adjustments to your existing setup. [Learn more](#breaking)

## What’s New

- Allow to define a custom toolkit for an agent
- Add configurable white/black (allowed/denied) lists of sites/subsites for Enterprise MS SharePoint data loader
- Add API endpoint to query available tools for agents
- Add AWS S3 bucket data loader
- Added exist endpoint which gives item ids, efficiently checks if the ids are in the index and returns a dictionary in format `{ "item_id": bool }` (True if present, False if not)

## Improvements

### AI

- Expose more configuration on how the retriever should search for relevant information (keyword search, hybrid search, semantic search), how context should be built, and how user instruction should be parsed
- Best paragraph expansion retriever returns explicit message on empty resultset
- Improved support of agents filter-query for follow-up chat instructions with document selection
- Added project settings to customize internal squirro-retriever behavior
- Added possibility to provide API keys for all LLM providers via environment variables
- Added `squirro_query_syntax_filter` to the retriever settings
- Added `retriever_tool_description` to the retriever settings
- Tool Calling Stabilization to ensure the Agent provides required input arguments for the retriever

### Search

- Disable encoding for `title.<lang>.orig` query for exact match queries
- Semantic paragraph highlighting improvements
- Add paragraph scoped search to QueryLens
- Added missing support for `scale_by`/`mboost` inside document-scoring-profile configuration
- Added missing support for `rank_by`/`boost` inside document-scoring-profile configuration

### Platform

- Enhanced cleanup of temporary directories and improved clarity on component creation
- Now explicitly exits Phase 2 when questionnaire is empty and proceeds to Phase 3
- Rate limit exceptions are propagated to the service caller via SSE stream
- Allow specifying SSL-related variables via environment
- Upgrade Elasticsearch server and python client to the 8.17.1 version

## Bug Fixes

- Allow for user selection on Microsoft side before authentication to SharePoint plugin
- Handle empty responses from Redis when no queued items are found
- Fix issue with the `ItemIndexReader.read_item` method when `project_id` is empty
- Fix being redirected to log in after logging out from cloud instances
- Fix `project_id` being None when attempting to call function requiring `project_id`
- Fixed reranker deleting certain results when it should be a no-op
- Add missing current date to the system prompt
- Fix genai SQL user database not getting created when installing genai service
- Fix custom widgets parent rendered multiple times, preventing clicks
- Ensure `genai_reader` user is added to workspace before project
- Ensure using a refresh token in query parameters doesn’t fetch all EMBED chat conversations
- Remove the Sales Insight template from existing deployments
- Extracted request logic to function for authentication with Flask request context
- Fixes current date injection in RAW tool
- Fixed chat with document not retrieving the overall item context
- Fixed an issue where chat with document was not having all the tools available

## Known issues

- Labels with technical names containing spaces cause backend issues and errors (SQ-26080).
- In specific scenarios, cross-lingual information retrieval for semantic search may deliver lower than expected quality (SQ-28171).

## Breaking Changes

- Environment variable names of `genai` service Docker image have been changed to unify syntax:

  - `SQUIRRO_CLUSTER` → `SQ_CLUSTER`
  - `SQ_GENAI_DB` → `SQ_DATABASE_URL`
  - `SQ_GENAI_DB_SSL_CA` → `SQ_DATABASE_SSL_CA`
- Drop support for Python 3.8 in the Squirro SDK
- Drop support for Python 3.8 in the Squirro Client
- Removed `squirro.common.tracing.elasticsearch_tracing` module, as Elasticsearch tracing is now handled by the Elasticsearch Python client. Tools that rely on this module should be updated to not use this module anymore.

## Installation and Upgrade

For new installations, find step-by-step instructions on the [Install and Manage Squirro with Ansible](../../install/ansible/index.md#ansible) page (recommended) and [Installing Squirro on Linux](../../install/linux.md#install-linux) pages.

To upgrade an existing installation, see the [Upgrading Squirro](../../install/upgrade.md#install-upgrade) page.
