> ## 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.8.5

> Less code, same agent

## Trimming the fat

More code means more bugs, more confusion, and more things to keep safe. This release deletes about **590 lines** of code that nothing was really using.

Your agent still does everything it did before. But if your code pulls specific things from `bindu.observability` or `bindu/extensions/x402/constants.py`, some imports need updating.

***

## Heads up before you upgrade

<Warning>
  **Sentry helper functions are gone.** Bindu used to wrap [Sentry](https://sentry.io) (an error tracker) with its own shortcuts. We removed them — use the `sentry_sdk` library directly, it's the same thing with one less layer in between.

  ```python theme={null}
  # Old way
  from bindu.observability import capture_exception, set_user

  # New way
  import sentry_sdk
  sentry_sdk.capture_exception(error)
  sentry_sdk.set_user({"id": user_id})
  ```
</Warning>

<Warning>
  **x402 constants moved.** If you were importing payment constants from the old file, grab them from settings instead:

  ```python theme={null}
  # Old way
  from bindu.extensions.x402.constants import X402_EXTENSION_URI

  # New way
  from bindu.settings import app_settings
  app_settings.x402.extension_uri
  ```
</Warning>

***

## What got cleaner

The observability module used to export 8 things. Now it exports 2: `setup` and `init_sentry`. That's all you actually need.

The x402 payment extension dropped four helper functions that no one was calling (`build_payment_required_metadata`, `build_payment_verified_metadata`, `merge_task_metadata`, `get_agent_extension`). The DID extension's tiny helper methods were moved inline — same behavior, one less hop to trace through.

### Database migrations got friendlier

Bindu uses [Alembic](https://alembic.sqlalchemy.org) to run database migrations. But Alembic and modern async Postgres don't always speak the same URL format — you used to have to remember whether it was `postgresql://` or `postgresql+asyncpg://`.

Now both just work. The migration runner sees your URL and quietly converts it if needed:

```bash theme={null}
# Both of these work — use whichever you already have
DATABASE_URL=postgresql://user:password@host/db alembic upgrade head
DATABASE_URL=postgresql+asyncpg://user:password@host/db alembic upgrade head
```

***

## Migration

* If you use `sentry_sdk` features through Bindu's wrappers, switch to importing `sentry_sdk` directly.
* If you reference the old x402 constants, read them from `app_settings.x402.*` instead.
* Everything else — OpenInference setup, Sentry init, DID behavior, database migrations — works the same as before.
