> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getbindu.com/llms.txt
> Use this file to discover all available pages before exploring further.

# v2026.12.5

> A new document-reading agent, many-currency payments, and a pile of reliability fixes

## A big release with a lot of small wins

This one touches a lot of the system. The headline changes:

* A new agent that can read PDFs and Word docs
* Payments that handle multiple currencies at once
* A handful of reliability fixes in the scheduler and storage
* The auth middleware got a rewrite for better performance
* The UI got kinder to screen readers
* 44 new tests so we break less in the future

***

## Before you upgrade

<Warning>
  **Config validation got stricter.** If your `agent_config.json` is missing `deployment.url` or another required field, the agent now fails immediately on startup instead of crashing later. This is better — you find out right away. Just make sure your config is complete.
</Warning>

<Warning>
  **Some constants moved.** If your code imports constants from deep paths inside the extension modules, check that the imports still resolve. A few settings were moved into dedicated constants modules.
</Warning>

***

## What's new

### An agent that reads documents

There's a new built-in agent that understands PDFs and DOCX files. Give it a document and it can work with the content inside.

On the upload side, the frontend only lets through allowed file types, and `FilePart.text` (the extracted text from the document) is carried through the whole pipeline so later steps can actually use it.

### Payments in more than one currency

Until now, a payment setup could only describe one currency. Now a single config can require multiple currencies and multiple asset types. A freelancer agent could ask for USDC on one chain, ETH on another, stable coins somewhere else — all defined in one place.

The payment validation is also stricter. Duplicate payment info can't sneak in, and half-broken payment states don't crash the whole endpoint. The A2A `message/send` endpoint no longer returns a generic 500 when something is off — you get a clear error instead.

### Two new example agents

* **DSPy agent** — a question-answering agent built with [DSPy](https://dspy.ai), with tests you can learn from.
* **LangGraph agent** — shows how to wire up a structured, multi-step workflow inside Bindu using [LangGraph](https://langchain-ai.github.io/langgraph/).

### A friendlier UI

* The Agent Inspector is now collapsible, with clearer messages when there's nothing to show. Much better for first-time users.
* "Skip to content" links and ARIA landmarks were added, so screen readers can navigate the UI properly.
* That annoying flicker when you switched between chats? Gone.

***

## What got fixed

**Scheduler.** Fixed three separate issues: a deadlock that could happen under load (AnyIO buffer contention), a CPU-eating loop in rare edge cases, and trace serialization failing when traces got very large.

**Storage.** Made the in-memory subsystem less likely to run out of memory. Database indexing is faster too.

**Auth middleware.** Rewrote the Hydra middleware from synchronous code to pure ASGI. This sounds technical, but the practical effect is real: better concurrency, WebSocket support, and proper cleanup of connections so nothing leaks.

**Configuration.** Now fails fast if `deployment.url` is missing, and the error messages for nested missing fields are much clearer.

***

## What got better behind the scenes

### More tests, fewer surprises

We added 44 new tests, focused on the pieces that matter most:

| Area             | Tests added | Coverage before → after |
| ---------------- | ----------- | ----------------------- |
| ManifestWorker   | +15         | 58% → 83%               |
| BinduApplication | +20         | 16% → 30%               |
| TaskManager      | +9          | 67% → 75%               |

Overall test coverage went from **58.59% to 60.11%** with **688 tests** passing.

***

## Migration

<Steps>
  <Step title="Check your config">
    Make sure `deployment.url` is set. The validator now insists on it.
  </Step>

  <Step title="Update your payment configs">
    If you have custom payment setups, double-check they follow the new multi-currency rules.
  </Step>

  <Step title="Rebase any forks">
    If you've forked the scheduler, storage, or Hydra auth modules, pull this release in so you get the deadlock and ASGI fixes.
  </Step>
</Steps>

***

## Thanks

Huge thanks to everyone who made this release happen: **Paraschamoli, chandan-1427, varshayadav6, codesoumya2006, Prateekiiitg56, Co-vengers, nexpectArpit, AseemPrasad, shrguhaneogi-pixel, udaykiran243, arnab2001, Suvam-paul145, Subhajitdas99, DeviPadmavathi-LE, PardhaviArimilli, A-VISHAL, amr1tanshu,** and **underratedgitter.**
