3.17.2 Release Notes#

Squirro 3.17.2 was released on October 1, 2026.

Learn more about the Squirro Release Process.

Notes for administrators

This release introduces important changes that may require adjustments to your existing setup. Learn more

Release summary

Squirro Neo tasks can follow real business calendars, such as quarterly reporting, month end, or the first business day, and each task opens on its own page with its run history.

Teams deploying Neo agents can manage several environments, such as test and production, and several accounts from one command-line setup.

Speech to Text in Squirro Chat transcribes in the interface language of each user, such as German, French, or Italian, instead of always English.

Data ingestion reports a batch it cannot write as failed, and cleans up interrupted batches automatically.

Customers using the Neo command-line tools or the task API need to update their scripts as part of the upgrade.

Improvements#

Neo Tasks#

  • Neo task form authoring every schedule shape, with an optional task assistant and a preview of the next three runs.

  • Redesigned Neo task page, showing the selected run as a conversation next to the Run History panel, and a Tasks group in the sidebar.

  • Neo task schedules for quarterly and other month sets, month end, weekday positions such as the second Tuesday, and several days in a month.

  • Biweekly, every N months or years, several times a day, and end dates available in Neo task schedules.

  • first_business_day and last_business_day values for by_month_day in Neo task schedules, counting Monday to Friday without public holidays.

  • schedule_status on Neo tasks, reporting paused for a task switched off and finished for one past its end date.

  • Neo tasks that can never run refused when saved, such as one ending in the past or scheduled for February 30.

  • Task requests handled without stalling the Neo conversations of other users.

Neo Interface#

  • Rail navigator for jumping between questions in long Neo conversations, with Alt+Arrow Up and Alt+Arrow Down shortcuts.

  • Streaming spinner in the Neo sidebar shown only on conversations other than the open one.

  • items query parameter on the Neo chat page, attaching the given documents to the composer.

  • Operating system reduced-motion setting honored across the Neo interface.

  • Accessible name on the administrator-managed marker in the Neo Connectors dropdown.

Neo CLI#

  • Named deploy targets in the Neo genai CLI, managed with genai target and holding several environments selected with --env.

  • genai target add asking for the cluster and listing the projects you can deploy to when run without options.

  • Logins for several accounts on one cluster in the genai CLI, with each environment naming the account it uses through --principal.

  • --api-key-stdin option on genai login and genai init, reading the token from standard input.

  • Agent skill carrying the genai CLI documentation, installed with genai skill install, and by genai init unless --no-skill is passed.

  • genai explain available against a deployed project, for project administrators.

  • Login offered by the genai CLI on a terminal when a cluster refuses the stored credential.

  • Exit status 3 from genai whoami for a login that needs action first, with every command naming the account it uses.

  • genai --version option printing the installed release.

  • genai CLI credentials cache written atomically and readable only by its owner.

Squirro Chat Widget#

  • Speech to Text language setting in the App & Nav Bar settings, overriding the interface language for a project.

  • Recording state on the Speech to Text microphone button, with spoken text appended to the existing input.

  • Items count removed from the Chat widget sidebar.

Platform#

  • Ingestion requests reported as failed when their batch cannot be written.

  • Incomplete ingestion batches left by an interrupted write removed automatically.

  • Obsolete content and webshot services removed, with their packages uninstalled on upgrade.

  • new_pipelet method in the SquirroClient SDK, registering or updating a pipelet for the current tenant.

  • Custom per-request data passed from Squirro Chat requests to the results transformer configured on the project.

Bug Fixes#

Neo Tasks#

  • Quarterly Neo task firing every month.

  • One unreadable task schedule failing the whole Neo task list.

  • genai task update turning auto-firing back on for a paused task when its time was edited.

  • Approval rules not removable from a Neo task, with the update reported as successful.

  • Misspelled or unused Neo task schedule fields accepted and ignored silently.

Neo Interface#

  • External-link dialog title reading “Leaving ProjectName” in every language of the Neo interface.

  • English-only external-link dialog on Neo search result source links and the full-page item detail.

  • Neo chats started by a task, or reloaded, showing the standard project setup instead of their assistant.

  • Follow-up turn duplicating its row in the Neo sidebar, and the streaming spinner never clearing for a conversation answered in the background.

  • Opening a cited document in full screen resetting it to page 1, or leaving the Neo item detail blank.

Neo CLI#

  • Cluster URL typed at a prompt storing a login that later genai commands could not find, and genai logout leaving the token on disk.

  • GENAI_API_KEY written to disk and preferred on later runs, keeping an old key in use after rotation.

  • Neo preference value sent as a list or an object failing the whole request.

Neo Core Library#

  • Neo bundles importing from @squirro/neo-core/components failing to build against the 3.17.1 package.

Squirro Interface#

  • Re-uploaded file discarded when editing a file data source, with the save failing silently.

  • Download button missing from the Item Detail view for documents whose original file is not a PDF.

  • Custom widget editor showing a blank screen when opened a second time.

  • Speech to Text transcribing in English whatever the interface language.

  • Overriding a single LLM setting in genai.sqgpt.settings at project level failing validation, or the Set Value option snapping back to Default To Server Setting.

  • Server-level LLM settings no longer reaching a project after its Project Configuration dialog in the Chat widget was saved.

  • Multi-select facet values picked from the facet search box producing malformed queries, or combining different facets with OR.

Platform#

  • Ingestion requests intermittently failing with a 500 error while another batch finished processing.

  • Ingestion data file left truncated by a crash, failing every later attempt to process it.

Containerized Deployments#

  • Technical Preview - Chat answers and summaries appearing all at once instead of streaming in containerized deployments.

  • Technical Preview - Uploaded pipelets and their data files lost in containerized deployments when the plumber service restarted.

  • Technical Preview - Machine learning workflows failing in containerized deployments that cannot reach Hugging Face.

  • Technical Preview - Thumbnail Extraction pipeline step failing in containerized deployments on non-PDF items carrying a link or webshot_picture_hint field.

Breaking Changes#

Neo Tasks#

  • The Neo task schedule format is replaced, and the old fields are refused. time, recurrence, days_of_week, day_of_month, and month_of_year become times, freq, interval, starts_on, ends_at, by_day, by_month_day, and by_month, modeled on RFC 5545 recurrence rules. The genai task flags follow: --recurrence becomes --freq, --days-of-week becomes --by-day with weekday tokens such as MO or 2TU, --day-of-month becomes --by-month-day, and --month-of-year becomes --by-month. Stored schedules are converted during the upgrade, and rolling back is refused once a task uses a capability the old format cannot express. Update any client or script that creates or reads task schedules.

Neo CLI#

  • genai init selects a registered deploy target and no longer takes --cluster or --project, and the .genai/target.yaml file in a checkout is no longer read. Register the destination with genai target add NAME --cluster URL --project ID, then run genai init --target NAME. In an existing checkout, the first command run after upgrading names the cluster and project the old file holds, and the two commands that convert them into a target.

  • status, explain, log, reseed, login, logout, whoami, and the task commands of the genai CLI no longer take a directory argument, as in genai status ./ws, and passing one is a usage error. Run them from inside the directory instead.

  • genai login changes in four ways. --manual is removed, so use --api-key-stdin instead, which prompts for the token without echoing it on a terminal. Without a terminal, the command exits at once instead of waiting for a browser approval, so drop any CI login step, since every other command authenticates from GENAI_API_KEY, or pass --use-device-code to run the device login without a terminal. GENAI_NO_INPUT is no longer read, and commands prompt only when standard input is a terminal. Credentials in ~/.config/genai/credentials.yaml use a new format that older CLI versions cannot read, so log in again before going back to an older CLI on the same machine.

Neo Core Library#

  • @squirro/neo-core/chat no longer exports ITodoListBlock, ITodoItem, or isTodoListBlock, and IOutputBlock drops the output_block.todo_list member. Remove any reference to them from a custom Neo interface.

Squirro Chat Widget#

  • Custom Chat SidebarComponent overrides no longer receive the indexedItems prop. Use sourcesInfo instead, reading the items_indexed value of each source.

KEE#

  • KEE sources no longer accept the legacy dsn option. Declare a CSV source with source_type and source_file.

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.