# v4.2.0

> A Fuse Whitelist check in validation and preflight, Compound V3 lending health and the Compound V3 Institutional USDC market on Ethereum.

Source: https://ipor.io/developer-news/sdk-cli-v4-2-0  
Published: 2026-11-05  
SDK/CLI v4.2.0

v4.2 checks vault fuses against the on-chain Fuse Whitelist, reports Compound V3 lending health and supports the Compound V3 Institutional USDC market. It applies to Python, CLI and MCP users on 4.1.

## New

### 1. Fuse Whitelist check

**Now:** `validate_vault` and `preflight_execute` warn about each fuse that is not active on the chain’s Fuse Whitelist. The warning names the active fuse of the same type, or the active fuses of the same market and role.

**Usage:** the check runs by default. `fuse_whitelist=False` turns it off. A failed registry or RPC read is reported as a warning.

### 2. Fuse Whitelist listing

**Now:** the `fuse_whitelist` module reads the fuses a chain’s Fuse Whitelist lists for a market, with the state of each fuse.

**Usage:** `fusion fuse whitelist` from the CLI, or the `fuse_whitelist` MCP tool.

### 3. Compound V3 lending health

**Before:** Compound V3 debt was missing from lending health. Market 2 had no row and reported `is_complete=True`.

**Now:** each Compound V3 market reports LTV and the health factor against the liquidation limit, over every collateral the Comet lists. A vault with no debt gets no row.

**Usage:** the rows appear in the `lending_health` field of `fusion vault info` and of the `validate_vault` result. The WETH Comet prices in ETH and has empty USD fields.

### 4. Compound V3 Institutional USDC market

**Now:** market 57, the Compound V3 Institutional USDC market (ciUSDCv3) on Ethereum, has a substrate decoder, `CompoundV3BorrowFuse`, `CompoundV3ClaimFuse` and `CompoundV3Reader.collateral_balance_of`.

**Usage:** a new example takes a WETH vault on market 57 through collateral, borrow, partial repay, full repay and withdrawal, with NAV checked at each step.

## Fixes

### 1. Provider keys in error messages

**Before:** provider URLs carry API keys. A refused or unreachable provider printed the URL with its key in CLI and MCP error text.

**Now:** error text shows only the scheme and host of a URL. An invalid config file reports fields and reasons without values.

**Impact:** CLI output and MCP tool errors carry no provider keys.

### 2. Text read from contracts

**Before:** `name()`, `symbol()`, `description()` and revert reasons were passed on as the contract returned them.

**Now:** control, format and private-use characters are stripped, line breaks become spaces and the length is capped.

**Impact:** contract text stays on one line. The wording itself is still untrusted.

### 3. Morpho debt with no collateral

**Before:** a Morpho position with debt and no collateral, or a zero oracle price, had no health factor. The CLI printed “OK (no debt)”.

**Now:** the position is critical, with a health factor of 0. Euler debt that its oracle values at zero is reported as unreadable.

**Impact:** validation reports these positions as a risk.

### 4. Compound V3 position with a failing feed

**Before:** a broken price feed for an asset the account does not hold could turn a critical position into an unknown one.

**Now:** prices are read only for collateral the account holds. Debt against a zero liquidation limit has a health factor of 0.

**Impact:** critical Compound V3 rows stay critical in validation.

### 5. Agent guide on fuses

**Before:** the guide named ipor-abi as the place to look up fuses. Agents redeployed fuses that already existed.

**Now:** the guide points to the chain’s Fuse Whitelist and the fuse’s active state.

**Impact:** agents following the guide look up whitelisted fuses.

---

Upgrade with `pip install -U ipor-fusion`. Full changelog: [v4.2.0 on GitHub](https://github.com/IPOR-Labs/ipor-fusion.py/releases/tag/v4.2.0).

_These notes describe changes to the IPOR Fusion SDK. They are not operational or financial advice. Operators are responsible for testing changes against their own vaults and configuration before use._
