All Developer News

v4.0.0

SDK/CLI

Most 3.x code needs changes. Read the migration guide before upgrading. Many 3.x calls fail only when the line runs, so test your reads against a real node, not only your test suite.

Breaking changes

  • The context goes to the call. Wrappers take only an address (PlasmaVault(vault)); pass the context when executing (.call(ctx), .send(ctx)). Methods that read the chain are read_*(ctx, ...).
  • Typed ids, addresses and amounts (ChainId, MarketId, PlasmaVaultAddress, Amount, …). Raw input goes through parse_*.
  • One vault snapshot. fetch_vault_data(ctx, vault) reads everything at one block; validation and fusion vault info are built from it.
  • Typed batches and simulations. batch.add(call) and VaultSimulator.observe(call) return handles you read after run(); SimulationResult.get is removed.
  • Market limits are WAD shares (10**18 = 100%). 3.x documented them as asset amounts, so check limits you set with 3.x.
  • CLI and MCP JSON output changed. vault validate returns one findings list (filter by severity) instead of separate warning and critical lists, and absent optional fields are left out instead of null.
  • Morpho amounts may change. Share conversion now uses Morpho Blue’s exact integer math, and 3.x figures could be far off. Recheck thresholds built on them.
  • Renamed and removed: RWA is now EXTERNAL_STATE, MORPHO_BLUE_ADDRESS is now morpho_blue_address(chain_id), cross-chain and HyperCore names import only from ipor_fusion.crosschain and ipor_fusion.hypercore, and every SDK exception derives from IporFusionError. The full list is in the migration guide.

New features

  • preflight_execute and fusion vault preflight check an execute batch before you sign it.
  • Timelocked AccessManager operations: plan, schedule, execute and cancel.
  • fetch_address_registry(chain_id) and fusion address look up IPOR Fusion addresses by name.
  • Contract reverts are decoded by name instead of a bare selector.
  • Exact decimal conversion with parse_amount and format_amount.
  • 11 chains, now including Ink and Robinhood. Python 3.11 to 3.13.
  • Cross-chain and HyperCore (preview): the modules follow the official 2026-10-21 deployment only; pilot and canary deployments are no longer supported.

Bug fixes

  • Validation reports a read that fails as a warning instead of a silent zero.

Upgrade with pip install -U ipor-fusion after reading the migration guide. Full notes on GitHub: v4.0.0.