Skip to content

v0.34.0-rc.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@incrypto32 incrypto32 released this 16 Jan 17:41
· 510 commits to master since this release
$ docker pull graphprotocol/graph-node:v0.34.0-rc.0

What's New

  • Substreams as Source of Triggers for Subgraphs - This update significantly enhances subgraph functionality by enabling substreams to act as a source of triggers for running subgraph mappings. Developers can now directly run subgraph mappings on the data output from substreams, facilitating a more integrated and efficient workflow.(#4887) (#4916)
  • indexerHints in Manifest for Automated Pruning - This update introduces the ability for subgraph authors to specify indexerHints with a field prune in their manifest, indicating the desired extent of historical block data retention. This feature enables graph-node to automatically prune subgraphs when the stored history exceeds the specified limit, significantly improving query performance. This automated process eliminates the need for manual action by indexers for each subgraph. Indexers can also override user-set historyBlocks with the environment variable GRAPH_HISTORY_BLOCKS_OVERRIDE (#5032 (#5117)
  • Initial Starknet Support - Introducing initial Starknet support for graph-node, expanding indexing capabilities to the Starknet ecosystem. The current integration is in its early stages, with notable areas for development including the implementation of trigger filters and data source template support. Future updates will also bring substream support. (#4895)
  • endBlock Feature in Data Sources - This update adds the endBlock field for dataSources in subgraph manifest. By setting an endBlock, subgraph authors can define the exact block at which a data source will cease processing, ensuring no further triggers are processed beyond this point. (#4787
  • Autogenerated Int8 IDs in graph-node - Introduced support for using Int8 as the ID type for entities, with the added capability to auto-generate these IDs, enhancing flexibility and functionality in entity management. (#5029)
  • GraphiQL V2 Update - Updated GraphiQL query interface of graph-node to version 2. (#4677)
  • Sharding Guide for Graph-Node - A new guide has been added to graph-node documentation, explaining how to scale graph-node installations using sharding with multiple Postgres instances. Sharding Guide
  • Per-chain polling interval configuration for RPC Block Ingestors (#5066)
  • Metrics Enhancements(#5055) (#4937)
  • graph-node now avoids creating GIN indexes on array attributes to enhance database write performance, addressing the issue of expensive updates and underutilization in queries. (#4933)
  • The subgraphFeatures endpoint in graph-node has been updated to load features from subgraphs prior to their deployment. (#4864)
  • Improved log filtering performance in blockstream. (#5015)
  • Enhanced GraphQL error reporting by including __schema and __type fields in the results during indexing errors (#4968)

Bug fixes

  • Addressed a bug in the deduplication logic for Cosmos events, ensuring all distinct events are properly indexed and handled, especially when similar but not identical events occur within the same block. (#5112)
  • Fixed compatibility issues with ElasticSearch 8.X, ensuring proper log functionality. (#5013)
  • Resolved an issue when rewinding data sources across multiple blocks. In rare cases, when a subgraph had been rewound by multiple blocks, data sources 'from the future' could have been left behind. This release adds a database migration that fixes that. With very unlucky timing this migration might miss some subgraphs, which will later lead to an error assertion failed: self.hosts.last().and_then(|h| h.creation_block_number()) <= data_source.creation_block(). Should that happen, the migration script should be rerun against the affected shard. (#5083)
  • Increased the base backoff time for RPC, enhancing stability and reliability under load. (#4984)
  • Resolved an issue related to spawning offchain data sources from existing offchain data source mappings. (#5051)(#5092)
  • Resolved an issue where eth-call results for reverted calls were being cached in call cache. (#4879)
  • Fixed a bug in graphman's index creation to ensure entire String and Bytes columns are indexed rather than just their prefixes, resulting in optimized query performance and accuracy. (#4995)
  • Adjusted SubstreamsBlockIngestor to initiate at the chain's head block instead of starting at block zero when no cursor exists. (#4951)
  • Fixed a bug that caused incorrect progress reporting when copying subgraphs, ensuring accurate status updates. (#5075)

Graphman

  • Graphman Deploy Command - A new graphman deploy command has been introduced, simplifying the process of deploying subgraphs to graph-node. (#4930)