GRAPH_DB_TYPE, changes the Helm chart’s default message broker to Redis, and raises the Docker image RAM limit.
Highlights
New agent loop, now the only mode
The agent runtime was reimplemented with a new loop (#2702 — @abhishekgml1991) and, in this stable release, becomes the sole execution mode (#2879). The Slack bot was moved onto the new loop (#2857 — @kaushal1999), prompts were tuned for it (#2848), and its navigate/lookup tools are now exposed as HTTP endpoints so the MCP server can consume them as MCP tools (#2937 — @uncleSlayer). Reasoning-effort support runs through the stack: model handling (#2858), agent model fixes (#2896 — @vishwjeet-pawar03), friendly provider names with the reasoning flag defaulted on (#2870), a reasoning parameter on indexing LLM calls (#2932 — @tushar1245), anddefaultReasoningEffort declared on agent schemas in the OpenAPI spec (#2877). Deep-agent stale tasks were fixed early in the cycle (#2656 — @vishwjeet-pawar03).
Query service performance overhaul
A chat turn was redoing work proportional to the whole answer on every streamed token — roughly 700 times per turn, in three independent places — plus a record-cache bug forced repeat fetches to re-download whole documents. All four were fixed (#2872 — @shrikantNemiwal1): ~1.8× throughput (23 → 43 req/min at 4 workers / 16 users), p50 turn latency halved (36 s → 17.8 s), and SSE traffic down 28×, with the answer itself unchanged.Parsing and data extraction as standalone services
Document parsing and data extraction were split out of the indexing path into their own services (#2541 — @abhishekgml1991), gated by a parsing-service flag (#2734). Follow-ups hardened concurrency (#2738), fixed the HTML parser and other parsing paths (#2749 — @jatingaur18, #2770), added health status for both services (#2845 — @rish664) plus build targets (#2822), and dropped base64 encoding when sending PDFs to the Docling service (#2792 — @kaushal1999).Smarter, cheaper PDF and OCR pipeline
Docling is now the default PDF parser (with a BlockParser bug fix) and falls back to OCR when it fails (#2724, #2672 — @kaushal1999). OCR got safer and faster: an individual VLM-OCR instance per parse call (#2739), a cap on OCR-detection pages (#2790), Docling memory and latency optimizations (#2809), and batched LLM calls for table indexing (#2844).OpenSearch joins the supported backends
OpenSearch is now a supported search backend (#2547 — @abhishekgml1991), extending deployment options for organizations standardized on OpenSearch.Redis Streams producer survives disconnects again
disconnect() on the shared Redis Streams producer used ioredis quit(), which is terminal — one request handler stopping the singleton producer poisoned publishing for the whole process until restart. The client is now recreated on reconnect, restoring producer/consumer recovery after any disconnect (#2867 — @anupPradhan0).
MCP grows: Omnigent integration and new tools
A ready-to-run Omnigent agent now ships underintegrations/omnigent/, exposing the full PipesHub MCP tool set with chat-first routing (pipeshub_chat, pipeshub_search, pipeshub_sources, and more) against the existing /mcp server (#2902 — @shekharkadyan). The MCP server itself was updated to v2.2.0 (#2780 — @uncleSlayer), with a scope fix and a fetch-full-record API (#2726) and a fetch-full-record tool bug fix (#2743).
Bulk user invites, with a review step
Admins can upload a CSV or Excel file of email addresses — parsed, validated, normalized, and deduplicated server-side, with invitations processed asynchronously (#2715 — @anupPradhan0). The stable release adds a review screen so imports can be inspected before invites are sent (#2912).Breaking changes & upgrade notes
- Knowledge-base record groups are migrated to connectors; the migration runs as part of this release (#2650 — @tushar1245).
- Parsing and extraction now run as separate services controlled by a flag — review your deployment config before enabling (#2541, #2734).
- The env template was refreshed and the redundant
GRAPH_DB_TYPEkey removed from Dockerfiles; the Helm chart now defaults the message broker to Redis, deploying Kafka/ZooKeeper pods only conditionally (#2887 — @tushar1245). - The Atlassian site URL field was removed from connector configuration (#2693).
- The PipesHub Docker image RAM limit was increased — check host sizing (#2853); the database sandbox was disabled (#2854).
Connectors
- Slack — personal (user-scoped) connector added (#2801 — @jatingaur18).
- Box — shared files sync (#2719 — @R0gue-one).
- Google Drive — shared-drive filter (#2620) and folder filter (#2811), plus a NoneType guard before logging (#2691).
- Gmail — indexing fix (#2748).
- Outlook — removed external-user sync (#2742) and fixed idle-closed transport on long-lived connectors (#2772 — @shrikantNemiwal1).
- Jira Data Center — handle users/permission-schema endpoints that differ across DC versions (#2704 — @darshangodase).
- GitLab — connector fixes (#2920 — @darshangodase).
- Web — crawl4ai support for higher-fidelity crawling (#2641 — @R0gue-one) with follow-up bug fixes (#2750).
- RSS — indexing fix (#2729).
Agents & AI
- Jira Data Center and Confluence Data Center toolsets so agents can act against self-hosted Atlassian (#2661, #2667 — @darshangodase), plus Confluence tool fixes (#2812).
- OpenAI Responses API compatibility: an initial fix (#2876 — @abhishekgml1991) plus correct token-limit truncation detection and normalization of structured responses to plain text for image descriptions, streaming, and reflection history (#2917 — @kaushal1999).
- Chat attachments: markdown and txt (#2657), DOCX and CSV (#2894 — @abhishekgml1991); images capped at 25 per message (#2655).
- Retrieved records are enriched with related records from graph edges (parent, child, attachment), carrying parent ticket/project metadata into LLM context (#2596 — @darshangodase), with a follow-up fix for
to_llm_contextand graph enrichment (#2840). - Blocks now carry author and mentioned-user IDs for people-aware retrieval (#2827 — @jatingaur18) and a head tag (#2936).
- Handled the deprecated
temperaturefield for Claude models (#2723). - Fixed the user-ask tool schema (#2873 — @vishwjeet-pawar03), sandbox code execution (#2892), artifact creation (#2916), and the completion-gate artifact trigger (#2888).
Fixes
- Indexing: failures propagate to queued MD5 duplicates (#2694 — @shekharkadyan), YAML support with JSON/YAML/YML handling fixes (#2731, #2752), Unicode preserved in indexing prompts (#2686 — @TatshSiow), semantic metadata added to blob storage in the legacy parsing flow (#2768), default indexing status and reindex pagination (#2735), placeholder-record handling (#2767), reindex API for non-creators (#2733), and a fix for issue #2883 (#2890 — @kaushal1999).
- File preview: reliable PPT/PPTX-to-PDF conversion with LibreOffice and CJK fonts installed in Docker (#2711, #2713 — @TatshSiow, #2732 — @hamza426-ahm).
- Chat & UI: answer-response rendering (#2868), markdown rendering with
$signs (#2922 — @tushar1245), citation markdown (#2678), citation popover no longer closes on preview (#2923 — @Pranjal-wq), Gemini PDF upload crash when the LLM returns content as a list (#2635 — @shekharkadyan), user-query UI (#2834), chat window alignment (#2862, #2875), removed the graph/plot force-download hook (#2866), external-link icons open the source web URL (#2925), folder-upload hierarchy shown with a compact add button (#2928), embedding-model download progress in the UI (#2681), fail reason no longer shown on completed records (#2671), empty manual-indexing tooltip (#2687), connector label typo (#2700). - Knowledge hub: app-scoped search and folder filter (#2709), shared-with-me record groups (#2688), collection record stats (#2777), agent builder shows all configured collections (#2673).
- Graph queries: replaced invalid
coalescewithnot_nullin AQL (#2914 — @tushar1245). - Desktop: the Electron app can now switch servers (#2865 — @abhishekgml1991).
- Cleanup: removed admin/everyone broadcast notifications (#2728), stale
x-oauth-header(#2664), unused redirect-uri field (#2782), user event (#2828); invite-mail error logging fixed (#2658).
Performance & reliability
- Stabilized MongoDB failures in deployment (#2677 — @shekharkadyan).
- Message-broker retry and configuration support (#2626 — @shrikantNemiwal1).
- Increased file-descriptor limits to prevent EMFILE errors under load (#2843 — @anupPradhan0).
Security & authentication
- New token scopes and JWT generators for email verification and OTP (#2784 — @rish664, #2781 — @vanshg685).
- Authentication is skipped for expired refresh tokens instead of failing noisily (#2736).
- SMTP values are masked, with related refactoring (#2793).
- GitHub Actions hardened per GitHub’s new security guidance (#2747).
Developer experience & infrastructure
- Anonymous fleet metrics: new metrics collection with an increased push interval and reduced metric logging (#2644 — @rish664, #2663, #2717).
- OrgContext with AsyncLocalStorage support for request-scoped tenant context in Node.js (#2787 — @rish664).
- Refactoring: KB CRUD operations moved onto the data-source processor (#2718); constants, enums, and optional keys consolidated across frontend and backend (#2785, #2788, #2789, #2794, #2796, #2847).
- OpenAPI/spec: deprecation markers (#2665), incorrect Python-style language removed (#2666), storage doc ID in the record schema and spec (#2737, #2757).
- A
release-changelogskill was added for generating these curated changelogs (#2915 — @rish664). - CI/integration tests: per-backend approval and label selection (#2823 — @uncleSlayer), enterprise-search ITs parallelized with pytest-xdist plus determinism and race fixes (#2871, #2874, #2895, #2903, #2905, #2907), parallel Arango/Neo4j runs (#2753), Redis broker for Arango ITs (#2839), Mailpit as the SMTP sink (#2855, #2856), fail-fast helper unit tests before Docker (#2913 — @shekharkadyan), hardened storage-connector sync tests (#2910), and assorted IT env vars, creds, retries, timeouts, and fixes (#2605, #2662, #2708, #2720, #2721, #2744, #2756, #2774, #2779, #2831, #2835, #2846, #2861).
- Logging: Talon warning log fixed (#2852).
- Docs & README: uv-based install instructions (#2759), Slack approval and graph-DB docs (#2771), README updates (#2679, #2689, #2698, #2838, #2841, #2864).
- Dependency bumps via Dependabot (#2649, #2659, #2696, #2697, #2727, #2741, #2754, #2764, #2765, #2766, #2776, #2807, #2813, #2814, #2815, #2816, #2817, #2818, #2820, #2893, #2897, #2899, #2900, #2908, #2909, #2921, #2929, #2930, #2931, #2935).
New contributors
- @shekharkadyan made their first contribution in #2677
- @hamza426-ahm made their first contribution in #2732
- @Pranjal-wq made their first contribution in #2923
Full commit-level detail: GitHub release · Compare view