June 8, 2026

96 changes across 6 repo s

New

  • Intra-document snippet search for research documents#463 A new search endpoint lets the viewer locate and return matching text passages — with page numbers and verbatim content — within a specific research document, enabling precise in-document navigation without loading the full document client-side.
  • Earnings release filter now available in global search#467 The “earnings release” transcript type can now be selected as a filter when searching across transcripts, making the largest transcript category accessible through the standard event-type filter.
  • Daily prices endpoint for company price data#479 A new /daily-prices route provides a more accurately named alternative to the legacy /ohlc endpoint, which is now marked deprecated. Both routes return the same open/close price data.
  • Citation quote highlighting in PDF drilldowns#659 Clicking a chat answer citation that references a filing or research PDF now scrolls to and briefly highlights the cited passage in the viewer, making it easy to locate the exact sentence the answer referenced.
  • Copy chat answers in rich text, markdown, or plain text#651 The Copy button on chat answers now opens a menu with three format options. Citations are expanded to labeled links in each format, so pasted content reads cleanly in Word, Slack, plain text editors, and other destinations.
  • Phone number formatting in account settings#652 Phone number fields in Settings now apply intelligent formatting — US/Canada numbers are automatically formatted as +1 (XXX) XXX-XXXX while international numbers display with their country prefix.
  • Entitled Providers section in Entitlements settings#660 Settings → Entitlements now shows a dedicated “Entitled Providers” section listing the research providers the current user already has access to, separate from the request-new-access flow.
  • JSON mapping wizard for Expert Network Content definitions#606, #284 Providers can now create and manage JSON dot-path definitions for Expert Network Content entitlements through a new wizard, alongside the existing RIXML definition builder. The definitions list page shows both types with a type filter and type-aware edit actions.
  • Client entitlements export variant#622, #292 The Export button on the Clients page now opens a dialog to choose between exporting a flat clients list or a client-entitlements list with one row per client/entitlement pairing.
  • Organization name search on entitlement requests#612, #289 The provider entitlement requests page now includes a search bar for filtering requests by organization name, with results persisted in the URL for easy sharing and navigation.
  • Read-only API access permission for credentials#297 A new integration:view-api permission grants users read-only access to the Developers tab, allowing them to view credentials without create, rotate, revoke, or delete actions.
  • Client organization address management#631, #298 Providers can now view, add, update, and clear a street address and country on each client organization through the client org detail panel and edit dialog.

Improvements

  • Paginated user and notification lists now return consistent ordering#461, #462 Sorting users or notifications across multiple pages now produces stable, gap-free results when multiple records share the same sort value.
  • Absolute dates shown on older entitlement request cards#290 Request cards older than three days now display the full date alongside the relative time (for example, “May 19, 2026 (4 days ago)”) to reduce ambiguity on requests that have been pending for a while.
  • Granted requests can now be reopened#623, #293 Providers can reopen entitlement requests that were previously granted, returning them to pending status so decisions can be revisited through the normal workflow. The request detail footer now shows status-specific text for granted and rejected states.
  • DDR entitlement requests processed asynchronously with retry and alerting#607 DDR provider entitlement requests are now handled in a background queue with per-user retries and automated Slack notification on terminal failure, improving reliability and reducing blocking on the request submission flow.
  • Definitions list supports filtering by type#604 The provider definitions list can now be filtered by definition type (RIXML, JSON, or both) using a column-header filter, and the type of each definition is displayed in the list.
  • Soft-deleted definition names can be reused#608 Deleting a definition and then creating a new one with the same name now works as expected, since deleted names no longer block new definitions from being created.
  • Confirmation dialogs now match the app theme and support loading states#650 All destructive and irreversible actions across the app — deleting chats, watchlists, teams, workflows, notes, and more — now use the in-app confirmation dialog instead of the browser’s native confirm prompt, giving consistent dark-mode styling and loading feedback during async operations.
  • PDF highlights now work in drilldown and event PDF views#655 Highlights created on full filing or research document pages are now visible when the same document opens as a drilldown panel or event PDF, and vice versa.
  • Sidebar width capped on large displays#654 The right sidebar resize handle now respects a maximum width of 768px on ultrawide monitors, preventing it from expanding into the primary content area. Users with a previously saved oversized width are corrected automatically on the next page load.
  • Saved view names validated on save and rename#653 Saving or renaming a Global Search view now rejects whitespace-only names and names that duplicate an existing view, with clear inline or toast feedback at both entry points.
  • Whitespace-only chat prompts blocked from submission#649 Submitting a chat prompt containing only spaces, tabs, or newlines is now prevented at the input level, so the submit button remains disabled and pressing Enter has no effect.
  • File upload size limit corrected to 5MB#291 Upload dialogs throughout the portal now display and enforce the correct 5MB maximum file size, matching the server-side limit.
  • Credential names limited to 60 characters#633, #296 API credential names are now capped at 60 characters at both the portal and API layers, preventing names that would exceed the enforced limit.
  • Embargo window can now be cleared on client organizations#630 Setting a client organization’s embargo window to “No embargo” now correctly persists the change on both create and update, rather than falling back to the provider default.

Fixes

  • Transcript downloads now complete for externally uploaded transcripts#478 JSON transcript downloads for events where segments lack wall-clock timestamps now return the full transcript rather than a not-found response.
  • Filing exhibits endpoint returns 404 for unknown filings#481 Requesting exhibits for a filing that does not exist now correctly returns a not-found response, making it straightforward to distinguish “filing not found” from “filing has no exhibits.”
  • Role assignment to nonexistent entities returns the correct response#473 Attempting to assign a role to a user, team, department, or organization that does not exist now returns a not-found response rather than a conflict or a silent success.
  • Entitlement access check applied consistently on readership metrics#469, #474 Publishing readership metrics for an entitlement-gated document now correctly enforces the caller’s entitlements, returning a permission-denied response when the caller lacks the required access.
  • Pending entitlement request emails render correctly for single requests#632 Notification emails to providers about new entitlement requests now display all content fields correctly when only one request is received within the batching window.
  • Readership metrics ingest accepts products with no authors#640 Events submitted to the readership metrics ingest endpoint are now accepted when the product has an empty or absent authors list.

← All updates