# May 5: Support for Jina and Pongo rerankers, Microsoft Teams feed, new YouTube downloader, bug fixes

### New Features

* :bulb: Graphlit now supports the [Jina reranker](https://jina.ai/reranker/) and [Pongo semantic filtering](https://www.joinpongo.com/) (reranking), in the Specification object.  Now you can choose between `COHERE`, `PONGO` and `JINA` for your reranking `serviceType`.
* :bulb: Graphlit now supports Microsoft Teams feeds for reading messages from Teams channels.
* Given changes in YouTube video player HTML, we have rewritten the YouTube downloader to support the new page format.
* Added better handling of HTTP errors when validating URIs.  Previously some websites were returning HTTP 403 (Forbidden) errors when validating their URI, or downloading content.  Now Graphlit is able to scrape these sites, which previously returned errors.
* Added support for updating content metadata in `updateContent` mutation.  Now the video, audio, document, etc. metadata can be updated after the content workflow has finished.
* Added `query_contents_graph` (and `queryContentsGraph`) functions to SDKs, which can be used to return nodes and edges from knowledge graph for visualization.
* :zap: Citation indices have been changed to be one-based from zero-based.  For example, you will now see "This is a citation. \[1]" as the first citation in the list.
* :zap: Added `isSynchronous` flag to deleteAll and multiple delete mutations.  By default, bulk delete operations are now asynchronous (and completed after the mutation returns), unless the isSynchronous flag is set to true.
* :zap: Added missing count mutations, such as `countAlerts`, `countFeeds`, etc.
* :zap: Renamed `query_content_facets` to `query_contents_facets` in Python SDK
* :zap: Renamed `queryContentFacets` to `queryContentsFacets` in Node.js SDK

### Bugs Fixed

* GPLA-2544: Page `relevance` not filled-in in all situations
* GPLA-2546: Not extracting links from PDF with Azure AI Doc Intelligence
* GPLA-2557: Sporadically returning HTTP 500 from GraphQL API
* GPLA-2573: Failed to re-ingest content which was deleted immediately after initial ingestion
* GPLA-2575: Not validating for empty (non-null) parameters in mutations
* GPLA-2578: Need to handle invalid JSON from LLMs; improper escaping or formatting
* GPLA-2585: Failed to ingest encoded file with colon (:) in name
