22
33## next - unreleased
44
5- ### Feature: database sharding
5+ ## 0.21.0
6+
7+ ### Feature: Database sharding
68
79This release makes it possible to [ shard subgraph
810storage] ( ./docs/sharding.md ) and spread subgraph deployments, and the load
@@ -14,7 +16,54 @@ out in a test environment, but do not recommend it yet for production use**
1416In particular, the details of how sharding is configured may change in
1517backwards-incompatible ways in the future.
1618
17- ## 0.20
19+ ### Breaking change: Require a block number in ` proofOfIndexing ` queries
20+
21+ This changes the ` proofOfIndexing ` GraphQL API from
22+
23+ ``` graphql
24+ type Query {
25+ proofOfIndexing (subgraph : String ! , blockHash : Bytes ! , indexer : Bytes ): Bytes
26+ }
27+ ```
28+
29+ to
30+
31+ ```graphql
32+ type Query {
33+ proofOfIndexing (
34+ subgraph : String !
35+ blockNumber : Int !
36+ blockHash : Bytes !
37+ indexer : Bytes
38+ ): Bytes
39+ }
40+ ```
41+
42+ This allows the indexer agent to provide a block number and hash to be able
43+ to obtain a POI even if this block is not cached in the Ethereum blocks
44+ cache . Prior to this , the POI would be `null ` if this wasn 't the case , even
45+ if the subgraph deployment in question was up to date , leading to the indexer
46+ missing out on indexing rewards .
47+
48+ ### Misc
49+
50+ - Fix non -determinism caused by not (always) correctly reverting dynamic
51+ sources when handling reorgs .
52+ - Integrate the query cache into subscriptions to improve their performance .
53+ - Add `graphman ` crate for managing Graph Node infrastructure .
54+ - Improve query cache logging .
55+ - Expose indexing status port (`8030`) from Docker image .
56+ - Remove support for unnecessary data sources `templates ` inside subgraph
57+ data sources . They are only supported at the top level .
58+ - Avoid sending empty store events through the database .
59+ - Fix database connection deadlocks .
60+ - Rework the codebase to use `anyhow ` instead of `failure `.
61+ - Log stack trace in case of database connection timeouts , to help with root -causing .
62+ - Fix stack overflows in GraphQL parsing .
63+ - Disable fulltext search by default (it is nondeterministic and therefore
64+ not currently supported in the network).
65+
66+ ## 0.20.0
1867
1968**NOTE : JSONB storage is no longer supported . Do not upgrade to this
2069release if you still have subgraphs that were deployed with a version
@@ -308,13 +357,13 @@ that are associated with a particular trading pair, which is included in the
308357created data source, like so:
309358
310359``` ts
311- import { DataSourceContext } from " @graphprotocol/graph-ts" ;
312- import { Exchange } from " ../generated/templates" ;
360+ import { DataSourceContext } from ' @graphprotocol/graph-ts'
361+ import { Exchange } from ' ../generated/templates'
313362
314363export function handleNewExchange(event : NewExchange ): void {
315- let context = new DataSourceContext ();
316- context .setString (" tradingPair" , event .params .tradingPair );
317- Exchange .createWithContext (event .params .exchange , context );
364+ let context = new DataSourceContext ()
365+ context .setString (' tradingPair' , event .params .tradingPair )
366+ Exchange .createWithContext (event .params .exchange , context )
318367}
319368```
320369
0 commit comments