3.14.4 LTS Release Notes#
Squirro 3.14.4 was released on November 5, 2025.
Learn more about the Squirro Release Process.
Attention
Elasticsearch upgrade to version 9 - Manual updates and upgrades starting from Squirro 3.13.5 require careful management due to Elasticsearch infrastructure changes. Before switching to 3.14.0, ensure you prepare your infrastructure. Refer to the Elasticsearch Migration page for detailed instructions on migrating Elasticsearch indices.
Notes for administrators
This release introduces important changes that may require adjustments to your existing setup. Learn more
Note for developers
To maintain compatibility with the recent dashboard selections rewrite, custom widgets in the Squirro platform require updates. Frontend developers should plan to replace deprecated methods and update widget code to align with the new architecture. For assistance, contact Squirro Support and open a technical support request to receive guidance from experts.
What’s New#
File Upload to Squirro Chat: You can now directly upload files and chat with your temporary uploaded files in Squirro Chat, enabling ad-hoc document analysis without permanent indexing.
Custom User Prompt Instructions: Added new project setting
genai.sqgpt.user-prompt-extrato allow project-specific customization of user prompt instructions, providing greater control over chat behavior.Dedicated “Chat with Item” Agent: Added a dedicated “Chat with Item” agent type, allowing configuration of Chat with Item behavior in the same user interface as other agents. Chat with Item keeps static item context in LLM memory (e.g., first 100 pages plus summary). This static context is configurable via the
default_toolsof the Chat with Item Agent. During conversation, if information is missing, the paragraph-retriever is selectively triggered to load information on demand.Table Rendering in Chat: Added a nice table renderer to Chat widget tools output for better visualization of structured data.
Squirro Chat Prompt Library: Added ability for users to create prompts for Squirro Chat on a user or project level. These prompts can be selected and used in the chat dashboard, enhancing customization and user experience.
Enhanced PDF OCR: The PDF OCR pipeline step now includes a new configuration option
ocr_languagefor non-English documents, with added support for Chinese (Simplified and Traditional) and Arabic.
Improvements#
AI#
Summarization Agent Component: Introduced new
SquirroSummarizationAgentcomponent to manage LLM context for summarization operations, improving summarization quality and consistency.System Prompt Reorganization: Reorganized system prompt by moving mandatory retrieval rules from agent persona to user prompt extra for better consistency and maintainability.
Retriever Tool Renaming: Renamed retriever tool from
squirro_retrievertoparagraph_retrieverfor clearer terminology. Legacy tool names are automatically migrated.LangChain Dependency Updates: Updated LangChain dependencies to latest versions with LangGraph 0.6.0+ compatibility shim for CompiledGraph API changes.
Improved Tool Error Handling: Added descriptive error messages for tool executions that don’t return output, improving debugging and user feedback.
Citation Structure Enhancement: Added citation structure to support different citation approaches for context emitted from different tools.
Passthrough Mode Improvements: Introduced dedicated
DEFAULT_PASSTHROUGH_USER_MESSAGE_TEMPLATEfor passthrough mode with clear separation of user request and agent persona sections. All tools are now disabled by default for “Chat With LLM” agent type.Client Management Optimization: Added project settings caching to reduce redundant API calls and refactored SquirroClient management to use starlette context instead of creating multiple client instances.
Chat History Improvements: Removed over-filtering of actions to ensure all tool calls are properly reconstructed in chat history, maintaining complete conversation context.
Agent Configuration: Changed default agents to use empty persona, delegating mandatory retrieval enforcement to user prompt extra for better flexibility.
Custom Tool Naming: Added namespace prefix (
paragraph_retriever__) for custom-named retriever tools to maintain tool identity.LaTeX Support: Fixed backslash escaping in LaTeX math examples in system prompt templates.
MCP Tool Error Handling: MCP tool errors (e.g., invalid parameters) are now converted to error messages that the agent can process and respond to, instead of showing red popup errors and halting execution. Graceful error handling is now the default for MCP tools.
MCP Header Templating: Added MCP header templating with user context injection for dynamic authentication.
Extended Context Control: Added project-level configuration flag
genai.sqgpt.disable-extended-contextto optionally disable extended context. Graceful handling of projects without extended context configuration (defaults to enabled).Citation Formatting: Exposed project settings to define how citations should be formatted. Two different citation prompts are available:
genai.sqgpt.citation-format-multifor general chat andgenai.sqgpt.citation-format-singlefor chat with single item.Persona Length Increase: Increased maximum length of persona value from 2000 to 4000 characters (excluding whitespace).
Improved Chat Context: Agents now receive complete multi-turn conversation history with full action details for better context awareness. Automatic population of simple chat_history from extended_chat_history maintains backward compatibility.
Enhanced Prompt Library: Added
project_idfield toPromptPublicresponse schema for better API transparency. Enhanced access control ensures only project admins can modify project-scoped prompts.Stabilized Inline Citation: Improved inline citation and page navigation, citing relevant text snippets and jumping to the relevant page (e.g., “Elasticsearch Configuration / Page 44”).
Text Fragment Highlighting: Text fragments passed by LLM for chat source references are now highlighted for better visual guidance.
Custom Thinking Events: Added support for custom thinking events in LangChain event streams for better insight into agent reasoning processes.
Chat Widget Configuration: Added config option to Chat Widget to disable admin welcome dialog.
Chat History Metadata: Added metadata field to chat history conversations for storing frontend-specific context per turn, improving conversation tracking and analysis.
Squirro Retriever Enhanced: The
squirro_retrievercan now put the complete text of a document into the LLM context by prompting the retriever’s tool description to useaction:summarizewithout providing a query, effectively fetching all paragraphs in order.Squirro Classifier: Added support for Squirro Classifier labels and categories to have URLs pointing to respective Synaptica concepts and schemes, enabling linking between Squirro and Synaptica web apps.
Squirro Chat Model Update: Changed default GPT model to 4.1 instead of 4o for general purpose use.
Enable GenAI service API access for configured clients by default.
Support for GPT-5.
temperatureandtop_pparameters will now be filtered out, as OpenAI no longer supports it. Added support forreasoning_effortfor newer GPT-5 models viallm_reasoning_effortparameter.Multimodal image reasoning for highly relevant pages, enabling more accurate answers from structured information contained in tables, charts, and images. Activate via the
ImageReasoningoption in the Squirro Retriever tool.
Search#
Text Chunking Independence: Text chunks can now be indexed as standalone searchable units without requiring embeddings. This allows documents to be searchable via keyword search without needing semantic search capabilities.
Page Boundary Enforcement: Exposed new option to enforce that produced text-chunks may never span across pages (
enforce_page_boundary:Trueis now the default), improving citation accuracy.Enhanced Paragraph Highlighting: Instead of highlighting the full paragraph, a list of relevant fragments can be provided for highlighting. This is used within chat-citation to scroll to the best paragraph and highlight only the most relevant text pieces.
Collection Icons: Added relevant collection icons in search typeahead for better visual identification.
Collections Filtering: Added optional querying and filtering support to collections API, allowing you to dynamically filter collection items based on search criteria (will be leveraged in a future release to allowing filtering in the UI).
Explicit Fulltext Search: Introduced a new scoring profile that enables explicit lexical full-text matching on specified fields (fulltext_match), instead of relying solely on the project’s default configuration. This allows powerful relevance boosting setups — either programmatically on demand (e.g.,
profile:{fulltext_match fields:"nlp_tag__phrases^10,title^3" text:"television program" query_type:phrase }) or via project configuration. An example of a customized relevance ranking can be seen in Configure a Scoring Profile for Customized Relevance Ranking, where thefulltext_matchplugin is combined with a SquirroQuery Scoring Profile.Query Profile Enhancements: QueryProfiles can now automatically inject the user’s query input and add scoring logic on top of that, and can use
scoring-pluginsinline for more flexible search customization.CORS Support: Added nginx CORS support for OPTIONS requests to improve cross-origin resource sharing.
Data Load Flexibility: Added support for
--[user|topic|provider]-api-urloptions insquirro_data_loadas an alternative to the--clusteroption.Bookmarks: Unified bookmark functionality with collections, by moving all bookmarks to a dedicated “Bookmarks” collection per user. This change simplifies the user interface and enhances bookmark management.
Chat Paragraph Highlighting: Enhanced paragraph highlighting in PDF viewer to ensure most sentences from relevant paragraphs are highlighted, improving search result visibility.
Synonym expansion now applies both to full terms and to detected sub-tokens. For instance, with a configured synonym rule like
[jonagold, apfel], a search for jonagold also matches documents containing only the term Apfelbaum, thanks to its sub-token apfel being matched by its synonym jonagold.Sub-token aware text analyzers to improve lexical search, particularly for compound words in Germanic languages. For example, the compound word Apfelbaum (apple tree) is now analyzed into
[apfelbaum, apfel, baum], making it more effectively searchable.Search Evaluation plugin supports now to 1) Curate Evaluation Sets, 2) Run experiments on curated Evaluation Sets and 3) perform comprehensive analysis on the quality of each search approach within an experiment.
Use a secondary, tie-breaking sorting in relevancy to improve search results stability.
Unified Term Analysis for Hyphens, Underscores, and CamelCase. Elasticsearch analyzers have been improved to normalize common variations in term formatting. Terms like WiFi, wi-fi, Wi_fi, and similar variants are now analyzed in a consistent way, ensuring that a user search for
wifiwill match all of them.Search evaluation framework support to track current progress of actively executed experiments. It allows the Search Evaluation Studio plugin to stream updates to the UI and render a summary of the current experiment in a progressbar.
Platform#
Enhanced Embed Configuration: External authentication and multiple UI options are now available in the embed iframe configuration modal, making it easier to integrate Squirro Chat into external applications.
UI Enhancements: Fixed split mode button active color and added tooltip for more actions, improving user interface clarity.
Chat Evaluation Workflow: Added GitHub Action for chat evaluation to support continuous quality monitoring.
Workspace Admin Permissions: Workspace Admins can now access Monitoring Projects for better administrative oversight.
Near-Duplicate Detection Removal: Removed the obsolete
relatedstoryservice and Near-Duplicate Detection pipeline step from the codebase to streamline the platform.Dynamic Email Templates: Updated email templates to use current year dynamically instead of static dates.
Using FastAPI Body with
openapi_examplesfor proper Swagger UI documentation.Automatically set the data source title based on the uploaded filename for file-based connectors.
Show current workspace in the project selector if Workspaces is enabled.
Display a dialog with a warning when a user tries to create a new collection when they already have one with this name in a given project.
Add
labeled_content,offset_start,offset_end, andbounding_boxesfields to theSetExceptionmodel. These fields enable the frontend to render highlights and bounding boxes for validation exceptions. Maintains backward compatibility by making new fields optional in the base class. EnsuresSetExceptionContentproperly requires thelabeled_contentfield.Prevent users from creating a new collection if they already have one with the same name in the project.
Bug Fixes#
Database Compatibility: Fixed
genaidatabase migrations that did not work with PostgreSQL 15+ and MariaDB 10.4.3+.Modal Rendering Issues: Fixed new modal opening in reference view once search box is rendered, ItemDetailModal infinite loop when opened from CommunityItem, and item detail modal opening twice in some cases.
Dashboard Performance: Resolved dashboard rendering lags when adding or removing many selections.
Search Functionality: Fixed facet value suggestions not being shown after selecting facet name, facet name typeahead suggestion triggering phrase search instead of suggesting facet values, and time selection not being cleared after advanced search submit.
Dashboard Editor: Fixed time range input not being populated with previously saved value and section content being cleared after toggling it on and off in the layout.
Logging Issues: Fixed wrong output of
tqdmlogs.Chinese Character Support: Added support for Chinese characters.
Chat Rendering: Fixed source snippet parsing not up to date with system prompt and markdown rendering treating everything between dollar signs as a formula.
PDF Viewer: Fixed best paragraph no longer shown after switching items from item detail, answer highlight not always scrolling to the relevant match in the document, and initial page being overridden by search highlights when opening reference PDF item.
Agent Configuration: Fixed bug where agent visual element was not being respected and agent persona instructions not being applied when no tools are defined in
tool_calling_agent.Summarization: Fixed summarization for short documents returning the full document content as is instead of a proper summary.
Search Query Handling: Fixed
remove_has_childquery processing and similar items fetched from item detail sidebar not having proper search query applied.Google Drive: Avoided indexing trashed files from shared drives on Google Drive.
Embed Iframe: Fixed embed iframe not working with new workspaces with various improvements and fixes.
Workspace Integration: Made pipelets endpoint workspace scoped and fixed bug where resetting user preferences doesn’t update assistant language.
Project Import: Fixed facets import during project import via Studio plugin and resolved project import functionality when the workspaces feature is enabled, as well as issues in both frontend and studio components.
Monitoring: Fixed monitoring project not being pre-selected with previous project ID when switching space.
Global Search: Fixed expand/collapse button not appearing in global search when query takes more than 3 rows.
Chat with HTML: Fixed chat with single HTML documents regression in context initialization.
Batch Q&A: Fixed bug where double quotes were not removed when importing questions from CSV files.
LangChain Integration: Fixed missing
ToolMessagesfor actions without output and incorrect message sequence where AI answer was placed before tool execution results.Dashboard Sharing: Fixed missing project ID in some components when dashboard is shared.
Data Ingestion: Fixed issue where failure to fetch project facets prevented the batch from being dequeued correctly. The ingester service now retries dequeuing up to
ingester.stream.max-dequeue-retriestimes before moving failed batches to the failed directory.Structured Logging: Configured
plumberservice’s structured logger to use formatter to not include tracebacks in.jsonlfiles.Activity Tracking: Re-added
queryparameter toquery.result.Itemactivity tracking.Dataloader: Fixed import error that prevented
squirro_data_loadfrom running when installed via Squirro Toolbox in a clean virtual environment.Item Retrieval: Removed faulty de-hyphenation logic that was breaking items retrieval.
Prompt Library Scoping: Fixed prompts API to properly scope prompts by
project_id, preventing cross-project prompt leakage.GenAI Plugin Dependencies: Fixed force-install of GenAI plugin dependencies by passing
ignore_installedflag when installing dependencies for asset types requiring clean installation.PostgreSQL Compatibility: Fixed PostgreSQL compatibility issue in prompt library.
Squirro Chat UI: Fixed chat with document being pushed down in item detail sidebar.
Query Cache: Fixed the query cache of bookmarking status to ensure accurate bookmark state representation.
Infinite Fetching: Resolved ItemsWidget fetching infinitely when in mobile viewport and similar items fetching infinitely when opened from CommunityItem.
UI Rendering Issues: Fixed code blocks having white text on white background, table corners being cut off, and extra horizontal scrollbar in chat conversations caused by tool output.
Navigation: Fixed issue where users with read rights couldn’t go back to dashboard from user settings.
Authentication: Fixed Project admin being logged out when accessing agent tools.
Theming: Corrected embedded chat not using project theme properly.
Collections: Fixed issue where items could not be removed from collections.
Scroll Behavior: Added proper scroll functionality to similar items view.
Permissions: Fixed user with reader permissions unable to access prompt library.
Chat Widget: Resolved starter questions not showing up in some cases.
RPM Package Naming: Renamed RPM package from
squirro.sdk.dataloadertosquirro.dataloaderto correctly reflect the underlying Python package name.Community Types: Fixed community types in CommunitiesList widget not being sorted by configured position.
Async Support: Added async support to flow control components, fixing Runnable chains/sequence issues.
Data Source Statistics: Fixed data source job statistics leading to increasing memory and log storage use for IDs.
Project Translations: Resolved issue where project translations were not being loaded with slow network conditions.
Workspace Admins: Added workspace admins for project member listings when the workspaces feature is enabled.
Vertical Tabs Widget: Removed extra spacing for vertical tabs widget when card mode is disabled.
PDF Search Highlighting: Fixed paragraph highlighting in PDF viewer to only render actual paragraph content and correctly select corresponding pages.
Search Icons: Fixed search icons overflow in search input inside item detail PDF search.
Bookmark Flag: Fixed bookmark flag functionality.
Facets Table: Fixed facets table expanding indefinitely in auto expand layers when there are no items.
Search Plugins: Fixed issue where some search plugins that modify returned items would break the frontend.
ILM Policy: Fixed issue in ILM policy which caused indexes not to roll over.
Community 360 Dashboard: Fixed issue where community 360 dashboard was empty after exiting edit view or toggling edit mode.
MetricWidget: Prevented sending undefined facet fields in MetricWidget.
Widget Borders: Removed extra border from widget wrapper of some widgets.
Data Source Titles: Fixed data source title override after uploading document.
Search Profile Arguments: Fixed handling of outer double quotes around profile argument values, resolving issues with components like DateDetector.
Item Broken Images: Hide broken images from the content view of item detail.
Transformers Service: Ensured downloaded models are properly baked into transformer service images.
Dataloader Plugins: Fixed error for dataloader plugins uploaded to specific workspace with
squirro_asset upload --workspacecommand.Project Members: Allow Workspace Admins to manage Project Members.
GenAI Logs: Fixed GenAI logs to show up properly in the logs plugin.
Error for changing the workspace role for the cluster admins.
Entities bouding boxes improper rendering in the Item Detail view, when using Squirro Classifier.
Chat-denied profile breaking search when applied within a rank-by clause.
Empty queries treated as match-all not respecting additional ranking signals.
Missing label ID for Squirro Classifier Fastpass suggestions from linked categories where the text does not match the label name, which impeded creating label from suggestion.
Unique-term filter from a previous analyzer chain rework causing problems with highlighting, phrase queries and general relevance.
Rheininsight plugin errors during creation following changes to the platform code due to a missing call to the parent constructor.
machinelearningservice not starting when using a PostgreSQL database.
Miscellaneous#
Collection Enhancement: When creating a new collection from the Items/Result Card and Document Details, the document is now automatically added to that collection for improved user experience.
Known Issues#
In specific scenarios, cross-lingual information retrieval for semantic search may deliver lower-than-expected quality (SQ-28171).
Breaking Changes#
Summarization Deployment Configuration: The deployment YAML structure for the summarization endpoint has changed. The
llmconfiguration must now be specified at the agent level rather than within thesquirro/tools/chat_with_itemtool configuration. Users with custom deployment YAML files must update their configuration to nest the chat_with_item tool under asquirro/agents/summarizationagent that includes thellmfield. Seedeployments/default.yamlfor the new structure.Prompts API Routes Updated: Updated prompts API routes from
/promptsto/projects/{project_id}/prompts. All endpoints now require project_id as a path parameter. Removedproject_idfield fromPromptCreaterequest body (now passed as URL parameter).Available Tools Endpoint Updated: Updated available_tools endpoint to include
project_idas a path parameter (/projects/<project_id>/available_toolsinstead of/available_tools).Chat History Compression: Chat history is now stored compressed in Redis. Older
genai_proxystudio plugin versions cannot read compressed data. Rolling back requires running the decompress tool first.Trend Detection Removal: Removed all
Trend Detection-related methods fromSquirroClient, following the removal of thetrendsservice.Smart Filters Removal: Removed all
Smart Filters-related methods fromSquirroClient, following the removal of thefingerprintservice and all Smart Filters functionality from the platform.
Warning
If you have custom deployment YAML files for summarization, you will need to update them to reflect the new structure where LLM configuration is at the agent level.
Warning
The removal of trend detection and smart filters may affect existing integrations. Review your code and update any references to these removed methods.
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.