3.12.1 (Latest LTS)#
Squirro 3.12.1 was released on February 26, 2025.
Learn more about the Squirro Release Process.
Notes for administrators
The Workspaces feature is available from version 3.12.1 and later. For administrators interested in this feature, contact Squirro Support and submit a technical support request. Our solutions engineers will help you find the right set up for your environment.
Python 3.8 for SquirroClient and the Squirro SDK is marked as deprecated, and its end of support is scheduled for the next LTS release.
Rocky Linux 9 support is nearing completion and arriving in an upcoming release.
This release introduces important changes that may require adjustments to your existing setup. Learn more
What’s New#
Personal Agents is a customizable feature that allows users to create tailored workflows, using specific data, instructions, and tools to perform tasks and achieve objectives. Learn more
GenAI API to integrate Squirro Enterprise GenAI Platform capabilities into your applications, unlocking advanced AI capabilities. It offers management of configurations for LLM runs, including persona, grounding settings, and future support for tool configurations.
Search API documentation is being migrated to the OpenAPI standard, providing a more standardized and accessible format for developers.
Workspaces provide administrators and engineers with flexible content management, granular access rights, and secure data isolation, enabling multiple departments to share a single Squirro cluster while operating independently. Learn more
Improvements#
AI#
Added support to exclude specific documents from CHAT. Such documents are searchable via the regular Dashboard UI, but will be excluded from the chat widget. To use this feature, setup a squirro-query in the project-configuration genai.sqgpt.excluded-documents-for-chat.
Support without-data mode for legacy tool-calling-agent and improve passthrough-llm prompt.
Improved Chat with selection when Persona-Agents / Dashboard selection uses TERM queries to filter for a selection (priorly the selection was filtered to paragraphs which contain those TERMs / now we only filter against the parent documents which have those terms / and perform semantic search within those).
Add GenAI API URL to injected SquirroClient.
Changed default system prompt to follow a query execution plan. Call the retriever several times with different structured input arguments (for example, time intervals if applicable), or apply phrase filters on detected key concepts.
Context expansion is performed on top ranked (default 3) documents. In addition add the top ranked paragraph of trailing documents (default document position 4, 5) as well to the LLM context.
Add genai tool to use Brave search API.
Enabled
ParagraphExpansionRetriever
by default. This retriever fetches more context (paragraph clusters) of top-ranked documents.Allow to set temperature to null: temperature is not supported for OpenAI reasoning models.
Added new tool option
additional_filter_query
. This enables the agent to fetch a diverse set of results when multiple SquirroRetriever Tools are configured, given that each one of them is bound to a different filter-query (for example,additional_filter_query:"source_name:FAQ"
) and the agent is calling those retriever-tools concurrently.Enhanced
streaming_chat
endpoint to accept an optionalagent_id
in the query string, enabling activation of a specific agent by ID during inference.Show the labels tab in item detail for the Chat widget.
Persona is now being more re-inforced by the LLM. Added more structural prompting to the LLM.
Agent persona added directly to the user message.
Search#
Script-based boosts, recency boost and date-intent-detection boosts can now be defined to be multiplicative boosts. Any such boost contributes to the original query score in a multiplicative manner as opposed to additively which was the current state.
Remove the weight parameter from profiles that support multiplicative boost and instead use pre-existing boost parameters.
Add multi-query endpoint to OpenAPI specification.
Add active state to similar search items.
Remove the weight parameter from profiles that support multiplicative boost and instead use pre-existing boost parameters.
Allow query parser to be more leaning by default, and more strict when parsing queries coming in through templates.
Do not break paragraph at the end of the page. If the paragraph expands between pages, it is now properly handled.
The OpenAPI specification is now available for the
query
andget item
endpoints, providing enhanced clarity and improved integration capabilities. You can access it at the/api/topic/openapi
and/api/topic/docs
URLs.Expose Typeahead API to OpenAPI specification.
Add copy search query button for the Search widget.
Configurable weight for boost clauses (boost/rank_by/should) and multiplicative boost clauses (mboost/scale_by). Ability to run queries like foo rank_by:{bla OR bar}^5 to search for foo and have an additive boost on the terms bla and bar where the score of bla OR bar is multiplied by 5 before being added to the overall score - or queries like foo scale_by:{bla OR bar}^3.5 to search for foo and multiply the score of documents that also match bla OR bar by 3.5.
Avoid parsing queries like - foo as exclusion (NOT) of foo - only consider things as exclusions when the - is immediately adjacent to terms.
Add error handling for parsing negated empty groups like NOT () - with this as a recognized error, query handling can recover in case of running in lenient mode.
Make search query parsing lenient by default by adding a default to the corresponding parameter. Now, queries by default work even with syntax errors (except for template queries).
Platform#
Workspaces domains are case insensitive. For example, you cannot create a new workspace test if you already have one named TEST.
WidgetHeader: split date sorting option to newest and oldest.
Improvements for the pydantic templating mechanism.
Introducing code for authenticating with PASETO tokens on FastAPI` endpoints.
Moved the internal plugins folder to
$GENAI/components/packaged_plugins
and removed$GENAI/components/plugins
to prevent accidental misusage and conflicts with volume-mapping.Add
markdown
package as dependency.Adds a new unified
register_component
decorator that allows to specify the full name of the component for reference in the deployment YAML; decoratorsregister_builtin
andregister_addon
are marked as deprecated. Use this new decorator on all pre-installed components.Add an optional
drive_ids
for the SharePoint connector to specify a list ofdrive_ids
that a user wants to download data from.Added export and import of agent configuration to client.
Introduce methods to interact with GenAI service endpoints.
Do not allow removing cluster admins from the cluster user list.
Allow deleting users from the cluster users page.
Update workspace user list after deletion.
Forbid deleting admin users from the workspace user list.
Temporarily remove the group assignment when inviting a user to a workspace.
Updated copyright and the corporate address in email templates.
Turn buttons in edit workspace role dialogs into loading buttons.
Make the data virtualization tool compatible with the Google Gemini LLM.
When attempting to delete a workspace that contains groups, an error message is now returned, informing the user that they must first delete the groups before deleting the workspace.
Show a message on disabled remove user button in user lists.
Do not allow removing yourself from the workspaces cluster user list.
Autosize tables to fit the page.
Convert all emails to lowercase in add users to workspace dialog.
Add disable drilldown support to the Labels widget.
Added caching invalidation for get_item_api_cache, the invalidation occurs when calling either modify_item or modify_items API endpoints. Important to keep in mind that get_items endpoint is not covered by get_item_api_cache, only get_item.
TLS security improvements, disable TLS <= 1.1, disable weaker ciphers, and other hardening measures.
Bug Fixes#
6 items do not fit when there is a category for
AdvancedSelector
.GenAI call from intent detection not providing the right parameters.
Do not show the Workspaces space when Workspaces is not activated.
When Workspaces is not activated, the Studio plugins that were previously displayed under the Server space are now displayed under the Cluster space.
starter-questions
endpoint generating excessive amount of questions.Permission issue that was breaking the
embed_token
generation mechanism.Squirro-legacy retriever compatibility with recent schema additions in
topic
.Gmail plugin parts breaking code.
Create agent squirro client wrong path.
In the help menu feedback and version are still shown while being disabled in the project configuration.
Move the
fastcgi_busy_buffers_size
directive to the/etc/nginx/conf.d/studio-fastcgi.inc
file, ensuringnginx
restarts properly after upgrading Squirro.genai.sqgpt.query-workflow
project configuration not defined causes skipping of the default workflow for processing the Squirro GPT query before fetching items.Ensure user is looked up for the tenant the project belongs to, not the tenant provided in the route parameter.
Negative value of queued items while using QFSS.
When the editable chip value is cleared, it still persists and is added to the query for the Search widget.
Legacy Squirro Retriever for Chat gets stuck while trying to do query pre-processing.
When Workspaces is activated, ensure
genai_reader
user is added to the workspace the project belongs to, before being added to the project.Add a different response status code and message when trying to delete a Cluster Admin user from a workspace.
Quoted facet name is not parsed as facets for the Search widget.
Missing focus state in editable chips when navigating with teh tab key for a Search widget.
get_oof_pred
dropping training data that fails evaluation.Gmail dataloader throwing error once parts do not exist in payload.
Q&A answer index starts at 0 instead of 1.
Set
http2_max_field_size
to 8kB to enable the preview of data sources using the Confluence 1-click connector.Move the
http2_max_field_size
directive to the/etc/nginx/conf.d/studio.conf
file, ensuringnginx
restarts properly after upgrading Squirro.New retriever issue with source-chip highlighting.
Paragraphs that span across pages have not been able to get highlighted before. This is now improved by highlighting each individual sentence.
Load cluster/workspace users and groups into the project and add a dependency on the flag.
Adjust routes for workspace management.
Fix project import functionality by importing pipelets to a specific workspace rather than _global.
Fix OneDrive data loader in case, when MS OneDrive API returning not supported drives IDs.
Restore server space for non workspace installations.
React to user removal from a workspace in cluster user list.
Ensure that attempting to mount a faulty plugin and does not impact the entire service.
Encode file content to ensure special characters are treated properly.
Fix add new user link in project member add.
Show project owner role in the Workspaces user details.
Increase the max length of the column name in pipeline_workflows from 50 to 256 to avoid problems with too long names for some Sharepoint use cases.
When Workspaces is activated, ensure the
genai_reader
user is added to the workspace the project belongs to, before being added to the project.Ensure that using a refresh token in the query parameters does not lead to fetching all EMBED chat conversations.
Fix table flash when assigning user to workspaces.
Disable functionalities in workspaces that should be available to admins only.
Fixed an issue where language instructions were not strictly being followed.
Miscellaneous#
Webshot metadata from parent to paragraph during paragraph creation.
Ensure index type is
int
for Squirro Retriever.
Known issue#
Labels technical names with spaces cause backend issues and errors (SQ-26080).
Breaking Changes#
User information fetched for Query Templates is now fetched from the latest user session of a trusted Squirro client, to ensure it is valid.
The
query
andget item
endpoints now enforce strict validation of parameters and their types. Any validation errors will result in a400 Bad Request
response.Validation error messages for the
query
andget item
endpoints have been enhanced to offer more detailed explanations, making it easier to identify and resolve issues. This change is breaking only if your implementation relies on specific error message formats.Squirro Authentication now uses PASETO tokens, meaning existing Access Tokens will become invalid on upgrade and new tokens must be generated. Existing Refresh Tokens will still be valid, but newly generated Refresh Tokens will have the PASETO format.
The GenAI service endpoints now require Bearer Authentication, where the Bearer Token is a Squirro Access Token.
The Intent Detection step now needs
SquirroClient
credentials in order to access the GenAI endpoint for source detection. If the step is being executed outside themachinelearning
service, it must be adjusted according to the new description.Requires update of tool config in deployment YAML (change LLM config: openai_chat_model → llm, add a chat_history field with placeholder).
Installation and Upgrade#
For new installations, find step-by-step instructions on the Install and Manage Squirro with Ansible page (recommended) and Installing Squirro on Linux pages.
To upgrade an existing installation, see the Upgrading Squirro page.