v0.23.0
The Graph Node internals are being heavily refactored to prepare it for the multichain future.
In the meantime, here are the changes for this release:
- The
GRAPH_ETH_CALL_BY_NUMBER
environment variable has been removed. Graph Node requires an
Ethereum client that supports EIP-1898, which all major clients support. - Added support for IPFS versions larger than 0.4. Several changes to make
graph-node
more tolerant of slow/flaky IPFS nodes. - Added Ethereum ABI encoding and decoding functionality #2348.
- Experimental support for configuration files, see the documentation here.
- Better PoI performance #2329.
- Improve grafting performance and robustness by copying in batches #2293.
- Subgraph metadata storage has been simplified and reorganized. External
tools (e.g., Grafana dashboards) that access the database directly will need to be updated. - Ordering in GraphQL queries is now truly reversible
#2214 - The
GRAPH_SQL_STATEMENT_TIMEOUT
environment variable can be used to
enforce a timeout for individual SQL queries that are run in the course of
processing a GraphQL query
#2285 - Using
ethereum.call
in mappings in globals is deprecated
Graphman
Graphman is a CLI tool to manage your subgraphs. It is now included in the Docker container
#2289. And new commands have been added:
graphman copy
can copy subgraphs across DB shards #2313.graphman rewind
to rewind a deployment to a given block #2373.graphman query
to log info about a GraphQL query #2206.graphman create
to create a subgraph name #2419.
Metrics
- The
deployment_blocks_behind
metric has been removed, and a
deployment_head
metric has been added. To see how far a deployment is
behind, use the difference betweenethereum_chain_head_number
and
deployment_head
. - The
trigger_type
label was removed from the metricdeployment_trigger_processing_duration
.