Skip to content

Commit 37b6adf

Browse files
committed
NEWS: Update for 0.19.0
1 parent dcee8d6 commit 37b6adf

File tree

1 file changed

+122
-50
lines changed

1 file changed

+122
-50
lines changed

NEWS.md

Lines changed: 122 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,130 @@
11
# NEWS
22

3-
## Unreleased
4-
5-
### Feature: Include Block in Query Responses
6-
7-
Responses to GraphQL queries now include the block at which the query was
8-
executed. The response now contains an `extensions` field of the following
9-
form:
3+
## 0.19.0
104

11-
```json
12-
{
13-
"data": "...",
14-
"extensions": {
15-
"subgraph": {
16-
"blocks": {
17-
"ethereum/mainnet": {
18-
"hash": "ea3bc37eb909f29c897d7a3fe3de30abd86baa58619403941e14a9797063a479",
19-
"number": 9892879
20-
}
21-
},
22-
"id": "QmZo35amfokYndPeuRd91bSzF6EusfBKMuDQCvaq25FVUX"
23-
}
24-
}
25-
}
26-
```
27-
28-
The key in the `blocks` object indicate the Ethereum network that the
29-
subgraph indexes, such as `ethereum/mainnet` or `ethereum/kovan`. What
30-
exactly gets reported has `hash` and `number` depends on the query:
31-
32-
- for time-travel queries with a block constraint of the form `block: {
33-
hash: "deadbeef" }`, that hash and the number of the corresponding block
34-
will appear in the response
35-
- for time-travel queries with a block constraint of the form `block: {
36-
number: 123456 }`, the `hash` will be all zeroes, and the number will be
37-
the number given in the query
38-
- for queries without any block constraint, the query will be run against
39-
the latest block that subgraph has processed, the hash and number of that
40-
block will be reported in the response
41-
42-
### Misc
5+
## Unreleased
436

44-
- Fix loading more than 200 dynamic data sources (#1596).
7+
- Skip `trace_filter` on empty blocks (#1923).
8+
- Ensure runtime hosts are unique to avoid double-counting, improve logging
9+
(#1904).
10+
- Add administrative Postgres views (#1889).
11+
- Limit the GraphQL `skip` argument in the same way as we limit `first` (#1912).
12+
- Fix GraphQL fragment bugs (#1825).
13+
- Don't crash node and show better error when multiple graph nodes are indexing
14+
the same subgraph (#1903).
15+
- Add a query semaphore to allow to control the number of concurrent queries and
16+
subscription queries being executed (#1802).
17+
- Call Ethereum contracts by block hash (#1905).
18+
- Fix fetching the correct function ABI from the contract ABI (#1886).
19+
- Add LFU cache for historical queries (#1878, #1879, #1891).
20+
- Log GraphQL queries only once (#1873).
21+
- Gracefully fail on a null block hash and encoding failures in the Ethereum
22+
adapter (#1872).
23+
- Improve metrics by using labels more (#1868, ...)
24+
- Log when decoding a contract call result fails to decode (#1842).
25+
- Fix Ethereum node requirements parsing based on the manifest (#1834).
26+
- Speed up queries that involve checking for inclusion in an array (#1820).
27+
- Add better error message when blocking a query due to load management (#1822).
28+
- Support multiple Ethereum nodes/endpoints per network, with different
29+
capabilities (#1810).
30+
- Change how we index foreign keys (#1811).
31+
- Add an experimental Ethereum node config file (#1819).
32+
- Allow using GraphQL variables in block constraints (#1803).
33+
- Add Solidity struct array / Ethereum tuple array support (#1815).
34+
- Resolve subgraph names in a blocking task (#1797).
35+
- Add environmen variable options for sensitive arguments (#1784).
36+
- USe blocking task for store events (#1789).
37+
- Refactor servers, log GraphQL panics (#1783).
38+
- Remove excessive logging in the store (#1772).
39+
- Add dynamic load management for GraphQL queries (#1762, #1773, #1774).
40+
- Add ability to block certain queries (#1749, #1771).
41+
- Log the complexity of each query executed (#1752).
42+
- Add support for running against read-only Postgres replicas (#1746, #1748,
43+
#1753, #1750, #1754, #1860).
44+
- Catch invalid opcode reverts on Geth (#1744).
45+
- Optimize queries for single-object lookups (#1734).
46+
- Increase the maximum number of blocking threads (#1742).
47+
- Increase default JSON-RPC timeout (#1732).
48+
- Ignore flaky network indexers tests (#1724).
49+
- Change default max block range size to 1000 (#1727).
50+
- Fixed aliased scalar fields (#1726).
51+
- Fix issue inserting fulltext fields when all included field values are null (#1710).
52+
- Remove frequent "GraphQL query served" log message (#1719).
53+
- Fix `bigDecimal.devidedBy` (#1715).
54+
- Optimize GraphQL execution, remove non-prefetch code (#1712, #1730, #1733,
55+
#1743, #1775).
56+
- Add a query cache (#1708, #1709, #1747, #1751, #1777).
57+
- Support the new Geth revert format (#1713).
58+
- Switch WASM runtime from wasmi to wasmtime and cranelift (#1700).
59+
- Avoid adding `order by` clauses for single-object lookups (#1703).
60+
- Refactor chain head and store event listeners (#1693).
61+
- Properly escape single quotes in strings for SQL queries (#1695).
62+
- Revamp how Graph Node Docker image is built (#1644).
63+
- Add BRIN indexes to speed up revert handling (#1683).
64+
- Don't store chain head block in `SubgraphDeployment` entity (#1673).
65+
- Allow varying block constraints across different GraphQL query fields (#1685).
66+
- Handle database tables that have `text` columns where they should have enums (#1681).
67+
- Make contract call cache collision-free (#1680).
68+
- Fix a SQL query in `cleanup_cached_blocks` (#1672).
69+
- Exit process when panicking in the notification listener (#1671).
70+
- Rebase ethabi and web3 forks on top of upstream (#1662).
71+
- Remove parity-wasm dependency (#1663).
72+
- Normalize `BigDecimal` values, limit `BigDecimal` exponent (#1640).
73+
- Strip nulls from strings (#1656).
74+
- Fetch genesis block by number `0` instead of `"earliest"` (#1658).
75+
- Speed up GraphQL query execution (#1648).
76+
- Fetch event logs in parallel (#1646).
77+
- Cheaper block polling (#1646).
78+
- Improve indexing status API (#1609, #1655, #1659, #1718).
79+
- Log Postgres contention again (#1643).
80+
- Allow `User-Agent` in CORS headers (#1635).
81+
- Docker: Increase startup wait timeouts (Postgres, IPFS) to 120s (#1634).
82+
- Allow using `Bytes` for `id` fields (#1607).
83+
- Increase Postgres connection pool size (#1620).
84+
- Fix entities updated after being removed in the same block (#1632).
85+
- Pass `log_index` to mappings in place of `transaction_log_index` (required for
86+
Geth).
87+
- Don't return `__typename` to mappings (#1629).
4588
- Log warnings after 10 successive failed `eth_call` requests. This makes
4689
it more visible when graph-node is not operating against an Ethereum
4790
archive node (#1606).
91+
- Improve use of async/await across the codebase.
92+
- Add Proof Of Indexing (POI).
93+
- Add first implementation of subgraph grafting.
94+
- Add integration test for handling Ganache reverts (#1590).
4895
- Log all GraphQL and SQL queries performed by a node, controlled through
4996
the `GRAPH_LOG_QUERY_TIMING` [environment
5097
variable](docs/environment-variables.md) (#1595).
51-
- Add integration test for handling Ganache reverts (#1590).
52-
- Don't return `__typename` to mappings (#1629).
53-
- Normalize `BigDecimal` values, limit `BigDecimal` exponent (#1640).
54-
- Strip nulls from strings (#1656).
55-
- Less expensive block polling (#1645).
98+
- Fix loading more than 200 dynamic data sources (#1596).
99+
- Fix fulltext schema validation (`includes` fields).
100+
- Dependency updates:
101+
anyhow,
102+
async-trait,
103+
bs58,
104+
blake3,
105+
bytes,
106+
chrono,
107+
clap,
108+
crossbeam-channel
109+
derive_more,
110+
diesel-derive-enum,
111+
duct,
112+
ethabi,
113+
git-testament,
114+
hex-literal,
115+
hyper,
116+
indexmap,
117+
jsonrpc-core,
118+
mockall,
119+
once_cell,
120+
petgraph,
121+
reqwest,
122+
semver,
123+
serde,
124+
serde_json,
125+
slog-term,
126+
tokio,
127+
wasmparser,
56128

57129
## 0.18.0
58130

@@ -162,13 +234,13 @@ that are associated with a particular trading pair, which is included in the
162234
created data source, like so:
163235

164236
```ts
165-
import { DataSourceContext } from '@graphprotocol/graph-ts'
166-
import { Exchange } from '../generated/templates'
237+
import { DataSourceContext } from "@graphprotocol/graph-ts";
238+
import { Exchange } from "../generated/templates";
167239

168240
export function handleNewExchange(event: NewExchange): void {
169-
let context = new DataSourceContext()
170-
context.setString('tradingPair', event.params.tradingPair)
171-
Exchange.createWithContext(event.params.exchange, context)
241+
let context = new DataSourceContext();
242+
context.setString("tradingPair", event.params.tradingPair);
243+
Exchange.createWithContext(event.params.exchange, context);
172244
}
173245
```
174246

0 commit comments

Comments
 (0)