Skip to content

v3.2.0

Choose a tag to compare

@DZakh DZakh released this 11 Jun 16:45
· 24 commits to main since this release
4db81a3

What's Changed

Filter by multiple fields with getWhere 🔭

await context.Account.getWhere({
  id: {
    _eq: "0x123...",
  },
  balance: {
    _gte: 1_000_000n,
    _lte: 10_000_000n,
  },
});

Additionally, we noticeably improved the performance of getWhere with a single _eq or _in filter by optimizing the number of round trips to the database.

By @DZakh in #1303, #1306, #1310, #1313, #1316, #1315, #1318, #1317, #1320

Multi-storage improvements 🫙

Now it's possible to mark storages as default to automatically assign an entity to the storage. It allows you not to set @storage attribute for every entity in schema.graphql and only use it as a default overwrite.

storage:
  postgres:
    default: true
  clickhouse:
    default: true

By @DZakh in #1297

Column Name Format 💄

Configure automatic conversion for column names in your database to snake_case. It only affects the underlying database, so GraphQL and handler types will preserve the original names derived from schema.graphql.

storage:
  postgres:
    column_name_format: snake_case

By @DZakh in #1300

More Experimental Solana Features 🤐

We added support for HyperSync-powered instruction handlers. Reach out to us if you're interested in becoming an early tester.

By @JasoonS and @DZakh in #1287, #1301, #1307, #1309, #1314

Critical Bug Fixes 🚨

  • Fix critical bugs causing an indexer crash introduced by v3.1
    • Flush in-flight batch writes before computing rollback diffs by @DZakh in #1305
    • Duplicate history rows from concurrent batch writes by @DZakh in #1312
  • Handle missing transaction data as retryable RPC errors - previously it would incorrectly disable the source by @DZakh in #1304
  • Make config path root-relative in start command by @DZakh in #1296
  • Validate duplicate addresses in config at parse time by @DZakh in #1311

Internal Work 🧹

Full Changelog: v3.1.2...v3.2.0