Envio Developer Update July 2025
Welcome to the Envio monthly developer update. Here is what shipped in July 2025.
This month, we embraced built-in cache for effect calls, improved loaders, added new testing utilities, and introduced more control over output configuration. We also launched a one-click indexer generator, shipped fresh hacks from our internal hackathon, and kept refining the overall developer experience.
We made stops at EthCC and Pragma Cannes too, catching up with builders from across the space.
Latest Releases: v2.23.0 → v2.26.0
Note: Current Release is v2.26.0
Built-in Cache for Effect Calls
import { experimental_createEffect, S } from "envio";
export const getMetadata = experimental_createEffect(
{
name: "getMetadata",
input: S.string,
output: {
description: S.string,
value: S.bigint,
},
cache: true, // Simply set cache to true
},
async ({ input, context }) => {}
})
Learn more in our docs about how to persist the cache on reruns and share it with Hosted Service (alpha).
V2.23.0
Embracing loaders
In v2.23.0, we added context.set, context.unsafeDelete, and context.getOrCreate to loaders.
Add context.isPreload to distinguish between the first and second loader run. If you are a power user, from now on we recommend going all-in with loaders and keeping your handlers empty.
Learn more in our dedicated loaders guide.
For a full list of changes and more information about current and past releases, view the release notes on our GitHub.
Love what we're building as much as we do and want to stay updated on our latest releases and developments? Give us a star on GitHub!
Jordyn Laurier