New TUI - Sharp, Clean & Fast
<img width="1092" height="358" alt="sync" src="https://github.com/user-attachments/assets/e73d1e14-99ca-47dc-963d-805ab17388f2" />We built it in Rust and moved the logic into a separate thread from the indexer, which brought the best possible responsiveness. The change also allowed us to remove the multiple dependencies from the envio package: ink, ink-big-text, ink-spinner, react, @rescript/react, date-fns.
Add New Chains To A Running Indexer
A nice addition for self-hosting users who run their indexers in a multi-process mode. Now it's possible to index a new chain to an existing database HyperIndex already writes to:
- Add a new chain to
config.yaml+ handler files if needed. - Run
envio start --chain <new-chain-id>- this will run a database migration to include the new chain in the existing database and start indexing it.
The feature only works when all entities are configured to be per-chain.
PNPM 11 Support
The Envio package no longer depends on tsx, enabling out-of-the-box pnpm 11 support without needing to allow packages with build scripts. The change also allowed us to improve error messages when loading handlers with invalid syntax.
Automatic Type Check - or minor breaking changes
We added an automatic type check for handler files only when you run your indexer with envio start or envio dev. This might break some users, but we believe it should protect you from a broken indexer in production and speed up the feedback loop during development.
The change also increases the minimum supported Node.js version from 22.0 to 22.15.
Other changes
- Add Somnia (5031) as a HyperSync chain #1670
- Fuel logs decoding rewrite to Rust. It also removes 5
@fuel-tsdependencies #1665 - Performance improvements for EVM, SVM, and Fuel params decoding #1675
- Improve native addon loading and error messages #1662
- Type JSON entity fields as JSON and fix
envio init contract-importfor params with bigint #1682