v3.5.0

swirlai/swirl-searchv3.5.0May 28, 2024by erikspears

AI Summary

General Availability release featuring production Pinecone support, VS Code debugger integration, and enhanced Galaxy UI capabilities including GDPR compliance.

Key Highlights

  • New PineconeDB Connector and SearchProvider for vector database sources.
  • Galaxy UI now renders chart visualizations for datasets.
  • GDPR cookie consent added to the Galaxy UI.
  • Developers can run SWIRL in the VS Code debugger.

Breaking Changes

  • Database migration required

New Features

  • PineconeDB Connector and SearchProvider
  • Galaxy UI chart visualization
  • GDPR cookie consent
  • VS Code debugger support
  • Refactored logging and CSRF support

Full Release Notes

![SWIRL Logo](https://raw.githubusercontent.com/swirlai/swirl-search/main/docs/images/dark_header.png)

## Team SWIRL is excited to announce General Availability of SWIRL AI Connect 3.5 Community edition!

The release includes a production Pinecone connector, support for running SWIRL in the VS Code debugger, plus GDPR and dataset visualization support in Galaxy. 
Thank you to [simsong](https://github.com/simsong), [deg](https://github.com/deg) and others in the SWIRL community who contributed feedback addressed in this release.

### PLEASE STAR OUR REPO: [https://github.com/swirlai/swirl-search](https://github.com/swirlai/swirl-search)

<br/>

# New Features

:small_blue_diamond: The Galaxy UI now renders a chart visualization for results from SearchProviders with the [`DATASET` option](https://docs.swirl.today/User-Guide.html#result-mapping-options) specified in the `result_mappings` field.

![Galaxy Chart](https://raw.githubusercontent.com/swirlai/swirl-search/main/docs/images/3_5_0-Chart_UI.png)

:small_blue_diamond: Added GDPR cookie consent to the Galaxy UI.

![Cookie Consent](https://raw.githubusercontent.com/swirlai/swirl-search/main/docs/images/3_5_0-GDPR-1.png)

:small_blue_diamond: Use the new PineconeDB Connector and SearchProvider to search vector database sources.

![PineconeDB Results](https://raw.githubusercontent.com/swirlai/swirl-search/main/docs/images/3_5_0-PineconeDB-1.png)

:small_blue_diamond: Developers can now run [SWIRL in the VSCode debugger](https://github.com/swirlai/swirl-search/tree/main/DevUtils/vscode/debug).

![Interactive Breakpoint](https://raw.githubusercontent.com/swirlai/swirl-search/main/docs/images/3_5_0-VSCode-Debugger.png)

# Improvements

:small_blue_diamond: The default SearchProvider configurations that ship with SWIRL have been updated; the multiple Google PSEs were consolidated into a new, simple provider definition, and many freely available sources are now enabled by default.

:small_blue_diamond: The Elastic and OpenSearch Connectors were refactored.

:small_blue_diamond: SWIRL's public API documentation was updated and is now generated by the `drf-spectacular` package with support for the OpenAPI v.3 schema.

![SWIRL OpenAPI](https://raw.githubusercontent.com/swirlai/swirl-search/main/docs/images/3_5_0-OpenAPI.png)

:small_blue_diamond: Scripts and other supporting utilities have been moved to the new [`DevUtils/`](https://github.com/swirlai/swirl-search/tree/main/DevUtils) directory in the repository.

:small_blue_diamond: Logging has been refactored; detailed messaging can be selectively enabled using the new `SWIRL_LOG_DEBUG` entry in SWIRL's `.env` file.  For example:
```shell
SWIRL_LOG_DEBUG='swirl.page_fetch.web_page, swirl.processors.rag'
```

:small_blue_diamond: CSRF support now available via the new `CSRF_TRUSTED_ORIGINS` entry in SWIRL's `.env` file.  For example:
```shell
CSRF_TRUSTED_ORIGINS='http://localhost:8000'
```
:small_blue_diamond: SWIRL was validated on Python 3.12.2.

# Resolved Issues

:small_blue_diamond: The Galaxy UI now reports the total number of results returned for a search instead of the total number of results configured in the active SearchProviders.

:small_blue_diamond: The URL presented with each Galaxy results is now clickable, just like the result title.

:small_blue_diamond: The `.install.sh` script was adjusted to keep `pip` and other essential packages properly updated.

# Known Issues

:small_blue_diamond: Clicking a Microsoft Teams result sometimes results in this error from the Teams app:
```
We cannot take you to that message because it's in a chat you're not in.
```
For Teams links to resolve correctly, you must have the Microsoft Teams app open *before* clicking the result link.

:small_blue_diamond: [Creating searches from a browser with q=](https://docs.swirl.today/Developer-Guide.html#create-a-search-object-with-the-q-url-parameter) can sometimes create two Search objects. 

This is because of browser prefetch AKA predictive service. [Turn off Chrome prediction service](https://www.ghacks.net/2019/04/23/missing-chromes-use-a-prediction-service-setting/). [Turn off Safari prefetch](https://stackoverflow.com/questions/29214246/how-to-turn-off-safaris-prefetch-feature).

Please report any issues with this to [support](#support).

# Upgrading

:warning: Version 3.5.0 requires database migration. See [Upgrading SWIRL](https://docs.swirl.today/Admin-Guide.html#upgrading-swirl).

# Documentation

[Overview](https://docs.swirl.today/) | [Quick Start Guide](https://docs.swirl.today/Quick-Start) | [User Guide](https://docs.swirl.today/User-Guide) | [Admin Guide](https://docs.swirl.today/Admin-Guide) | [M365 Guide](https://docs.swirl.today/M365-Guide) | [Developer Guide](https://docs.swirl.today/Developer-Guide) | [Tutorial: Extending Swirl](https://docs.swirl.today/Tutorials) | [Developer Reference](https://docs.swirl.today/Developer-Reference) | [AI Guide](https://docs.swirl.today/AI-Guide) | [Enterprise Guide](https://docs.swirl.today/Enterprise-Guide)

# Support

:small_blue_diamond: [Join the SWIRL Community on Slack!](https://join.slack.com/t/swirlmetasearch/shared_invite/zt-1qk7q02eo-kpqFAbiZJGOdqgYVvR1sfw)

:small_blue_diamond: Email [support@swirl.today](mailto:support@swirl.today) with issues, requests, questions, etc. - we'd love to hear from you!