# Changelog

### v0.1.2 — 2026-04-24 <a href="#v012--2026-04-24" id="v012--2026-04-24"></a>

#### Added <a href="#added" id="added"></a>

* **5 new DEX integrations**: ApeSwap, BiSwap, Nomiswap Stable, BabyDogeSwap, BabySwap (total: **12 protocols**)
* **Custom fee (integrator fee)** on `getQuote()` / `swap()`, replacing the earlier "partner fee" naming. Set `customFee.feeAccount` + `customFee.feeBps` on `QuoteOptions` to route a portion of `dstToken` output to an integrator-owned address. The on-chain router takes the fee atomically and forwards the integrator's share. Validated client-side via `CustomFeeError` (bps must be in `[1, MAX_FEE_BPS]`, account must be a non-zero valid address).
* **`PeachClient.getRouterConfig()`** — single batched read of router address, WETH, owner / pendingOwner, pause state, fee caps (`maxCustomFeeBps`, `maxProtocolCutBps`), and current protocol-fee split. Returns `RouterConfig`.
* **`PeachClient.getProtocolFeeConfig()`** — on-chain `protocolFeeReceiver` + `protocolCutBps` for previewing the integrator / protocol fee split before signing.
* **`peach_router` in `/router/status`** — `ApiStatusData` now exposes `router_address` and on-chain fee caps, so clients can discover the router and caps without an extra RPC call.
* **Optional response headers** on `getQuote()` via `options.includeResponseHeaders: true` — surfaced on `Quote.responseHeaders`.

#### Changed <a href="#changed" id="changed"></a>

* Aligned contract wrappers and typed ABI with PeachRouter v2 (owner-settable fee caps, Ownable2Step, pause flag).
* `PlatformConfig` is kept as a deprecated alias of `ProtocolFeeConfig`.

### v0.1.1 — 2026-03-31 <a href="#v011--2026-03-31" id="v011--2026-03-31"></a>

First official release.

#### Highlights <a href="#highlights" id="highlights"></a>

* **7 DEX protocols**: PancakeV2, PancakeV3, PancakeInfinityCL, UniswapV3, UniswapV4, DODO, Thena
* **`getQuote()`** — route discovery with configurable providers, depth, and split count
* **`swap()`** — build approval + swap tx requests (recommended for browser-wallet flows)
* **Native BNB** support via `NATIVE_TOKEN_ADDRESS` sentinel, auto `swapETH` routing
* **Split routing** with multi-path allocation and dead-path filtering
* **`withWalletSendTimeout()`** and `ExecuteTimeoutError` for transaction recovery


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.peach.ag/documentation/markdown.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
