v4.1.0.0

swirlai/swirl-searchv4.1.0.0Mar 20, 2025by erikspears

AI Summary

SWIRL AI Search 4.1 Community Edition release with UI enhancements including the DESELECT ALL toggle functionality and Galaxy UI unit testing implementation.

Key Highlights

  • DESELECT ALL option toggles to SELECT ALL after clicking
  • Full Unit Test suite implemented for Galaxy UI
  • Unused components and services removed from codebase
  • SWIRL version added to User Profile menu
  • Validated on Python 3.12.9

New Features

  • DESELECT ALL / SELECT ALL toggle functionality
  • Galaxy UI unit testing
  • Version display in User Profile menu
  • arXiv SearchProvider now quotes user search terms by default

Full Release Notes

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

## Team SWIRL is thrilled to announce the release of SWIRL AI Search 4.1, Community Edition!! 

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

### PLEASE VISIT OUR WEBSITE: [https://www.swirlaiconnect.com/](https://www.swirlaiconnect.com/)

<br/>

# New Features

:small_blue_diamond: The `DESELECT ALL` option on the results page now updates to a `SELECT ALL` link after it's clicked allowing you to quickly reset the original selections:

![Deselect All](https://raw.githubusercontent.com/swirlai/swirl-search/main/docs/images/4_1_0-DeselectAll.png)

![Select All](https://raw.githubusercontent.com/swirlai/swirl-search/main/docs/images/4_1_0-SelectAll.png)

:small_blue_diamond: A full Unit Test suite was implemented for the Galaxy UI source code, and unused components and services were removed from the codebase. 

![Galaxy Unit Tests](https://raw.githubusercontent.com/swirlai/swirl-search/main/docs/images/4_1_0-GalaxyUnitTests.png)

# Improvements

:small_blue_diamond: A variety of fixes and improvements were made to the new Galaxy UI interface, including the addition of the SWIRL version to the User Profile menu.

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

:small_blue_diamond: SWIRL AI has been validated on Python 3.12.9.

# Changes

:small_blue_diamond: **Please note that SWIRL is no longer publishing our Google API keys!!**

Community users will need to obtain their own Google API keys to use SWIRL on Google Web, LinkedIn or with the SWIRL documentation site. (These sources are accessed via Google's Programmable Search Engine, which is not free.). Arxiv, European PMC and Google News will continue to return results. Users may search the [SWIRL documentation site](https://docs.swirlaiconnect.com/) using the search box at the top of each page.

To obtain your own Google API key, please follow these instructions: [https://cloud.google.com/docs/authentication/api-keys](https://cloud.google.com/docs/authentication/api-keys)

:small_blue_diamond: The [arXiv.org SearchProvider configuration](https://github.com/swirlai/swirl-search/blob/main/SearchProviders/arxiv.json) now quotes the user's search terms by default, which will return fewer, more precise results from this source.

# 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, and be authenticated, prior to clicking the result link.

:small_blue_diamond: [Creating searches from a browser with q=](https://docs.swirlaiconnect.com/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. If this bothers you or your users, please turn off the Chrome prediction service](https://www.ghacks.net/2019/04/23/missing-chromes-use-a-prediction-service-setting/) or the [Safari prefetch](https://stackoverflow.com/questions/29214246/how-to-turn-off-safaris-prefetch-feature). 

# Upgrading

:warning: Version 4.1 does not require database migration.

# Documentation

### [SWIRL's Documentation site](https://docs.swirlaiconnect.com/) has been updated and reorganized!

![SWIRL Documentation](https://raw.githubusercontent.com/swirlai/swirl-search/main/docs/images/4_1_0-DocsSite.png)

[SWIRL Overview](https://docs.swirlaiconnect.com/) | [Quick Start Guide](https://docs.swirlaiconnect.com/Quick-Start.html) | [User Guide](https://docs.swirlaiconnect.com/User-Guide.html) | [RAG Configuration](https://docs.swirlaiconnect.com/RAG-Guide.html) | [Glossary](https://docs.swirlaiconnect.com/Glossary.html) | [Admin Guide](https://docs.swirlaiconnect.com/Admin-Guide.html) | [Installation Guide](https://docs.swirlaiconnect.com/Installation-Community) | [M365 Guide](https://docs.swirlaiconnect.com/M365-Guide.html) | [SearchProviders Guide](https://docs.swirlaiconnect.com/SP-Guide.html) | [Troubleshooting](https://docs.swirlaiconnect.com/Troubleshooting.html) | [Developer Guide](https://docs.swirlaiconnect.com/Developer-Guide.html) | [Developer Reference](https://docs.swirlaiconnect.com/Developer-Reference.html) | [Tutorial: Extending SWIRL](https://docs.swirlaiconnect.com/Tutorials.html)

# 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@swirlaiconnect.com](mailto:support@swirlaiconnect.com) with issues, requests, questions, etc. - we'd love to hear from you!