<!-- Source: https://docs.squirro.com/en/latest/getting/release/3-4/squirro-3.4.x-release-notes/squirro-3.4.5-release-notes.html -->
# 3.4.5 Release Notes

## Features

Frontend

- [ML Workflow Studio Plugin] Section Query Processing: Those workflows got a new button to select a workflow to be used for query-processing.
- Added tooltips for the Engagement map widget. Added drilldown on facet click.
- [ML Workflow Studio Plugin] Added column for workflow type.
- Many items widget and React improvements and fixes.
- [ML Workflow Studio Plugin] Added sections in the studio plugin list for ML Workflows.
- The standalone item detail view now has a close button to allow the user to navigate back to the dashboard space.
- [ML Workflow Studio Plugin] Changed code editor styling when used with a studio plugin.
- Query logging should use the original query if present.
- Migrated Tabs widget to React.
- New percentage mode for Metrics widget.
- [New Items Widget] Added entities rows inside a card for sales insights app and config props to reflect that.

libNLP

- Implemented [decorator to cache selected steps](https://squirro.github.io/nlp/api/utils/cache/).
- Implemented cache in libNLP library.
- Improve the optimization for the execution of multiple ML workflows by modifying the order of some libNLP steps.
- Implemented caching mechanism for NLP ML workflows results.
- Added field to the [Document](https://squirro.github.io/nlp/api/document/) allowing to skip caching steps/workflows.
- Added multi-lingual [spaCyNormalizer](https://squirro.github.io/nlp/api/steps/normalizers/): Perform language-specific text analysis that can then be used in subsequent steps.

Sales Insights

- Added the ability to configure the facet containing the account name for the Insights Generator pipelet.
- Added a signal-based generator class that generates insights cards per signal for different accounts.

Data Ingestion

- The `ingester` service is now able to work with prioritized batches. This feature is controlled by the `ingester.priorities.*` options which are exposed in the Configuration panel available under the Server space.
- The dataloader for parsing Squirro activity logs now works on multi-node Squirro deployments.

Search

- Query Processing:

  - Please refer to [Query Processing](../../../../technical/search/query-processing.md#query-processing) for information on query processing.
  - Newly created projects have now a default query-processing workflow enabled (can be disabled via Project-Configuration). The default Query Pipeline Workflow gets installed as a global asset.
  - Automatically set up the imported query-processing workflow in project’s configuration while importing a project template that comes with a configured query-processing ML workflow.
  - Query-Processing-Pipeline Example: Query-Disambiguation through 0-shot classification.
  - Allow execution of QueryProcessor ML-Workflow in local (everytime _/query_ endpoint is called) or global mode (only once triggered by the Global Searchbar via NLP _/parse_ endpoint).
- Initial implementation of question/answering custom widget (available on Cognitive Search template).
- New Server Namespace Setting `topic.monitoring.default-monitoring-project`: setup default monitoring-project after first admin-user registration (per tenant).

Squirro Studio plugins

- Upgrade instance:

  - Added the functionality to allow the selection of channel and Squirro version.
- Query Understanding:

  - Reworked NLP-Parser plugin to run query-parsing with project’s configured query-processing ML-workflow. Moved to section “AI-Studio > Query Understanding”.
  - Question-Answering endpoint: Search for a descriptive answer to a user’s question within top rated paragraphs of the results.

## Bug Fixes

Frontend

- The fixed text highlights not working for not labeled items in AI Studio.
- Fixed text highlights scroll not working in AI studio.
- Fixed `<squirro>` tags are sometimes being shown in the widgets that support highlighting.
- Cards widgets now resize if they are configured to not display the abstract.
- Fixed Chips widget text/action misalignment.
- The spellchecking is applied to the result query instead of the original one.
- Fixed an issue when creating a new custom widget, then right after a new dashboard, caused the dashboard to be unusable.
- Fixed entity scrolling for PDF items.

AI Studio

- Made NLP Runner work outside the ML Service context.
- Pass error messages generated in the endpoints during HTTP requests back to the UI.
- Ensure that the `global_id` is 22 characters long.

libNLP

- Fix BERT sentiment token max limitation bug.
- spaCy-Normalizer’s tokenizer is now able to consider phrases correctly (merges phrase tokens).

Search

- query-processing: part-of-speech-booster step: never modify SPACE-like tokens.

Data Ingestion

- Improve `MLEnrichmentGroupStep` with type error on JSON serialization fix and ‘list’ object is not a mapping error fix.
- Batches created from the Change Pipeline step will be of lower priority, letting newer batches to get executed first.
- Do not group consecutive ML model steps into one when the `machinelearning.optimize-workflows` option is set to false.

Data Sources

- Fix issue where changing the configured workflow of a data source was failing if its plugin could not connect to the source.
- Fix and improve the validation of the provided pipeline steps configuration when creating a new or modifying an existing pipeline workflow.

Platform

- Fix issue where entities created for PDF documents could lead to a [mapping explosion](https://www.elastic.co/guide/en/elasticsearch/reference/7.16/mapping.html#mapping-limit-settings).
- Fix NLP-Tagger failing arbitrarily and blocking plumber process.
- Fix `pdf_table_extraction` Studio Plugin by updating the version of the shipped `camelot-py` package to be compatible with the shipped `pdfminer` package.

Security

- Update `python-levenshtein` package to prevent possible vulnerabilities.
- Update `tika-server` to `1.28` (security update related to log4j [https://tika.apache.org/1.28/index.html](https://tika.apache.org/1.28/index.html)).

Squirro Studio plugins

- Code Editor: Allow dynamic resizing, window is too small.

Misc

- Reduce log verbosity of PDF processing, making it more visible what is actually going on.
- Migrate user preferences (`user.user-store` and `user.json-preferences`) from the old configuration service to the new one.

## Breaking Changes

- Rename “Natural-Language-Query-Parser” to “Query Understanding” and move it to the AI Studio section.

## Installation and Upgrade

You will have to resolve at least the following config files when upgrading from Squirro 3.3.0:

- `/etc/nginx/conf.d/ssl.inc`
- `/etc/squirro/common.ini`

For new installations, please follow the [Installing Squirro on Linux](../../../install/linux.md#install-linux) instructions.

To upgrade an existing installation, please consult [Upgrading Squirro](../../../install/upgrade.md#install-upgrade).
