Skip to content

Commit

Permalink
update NEWS.md
Browse files Browse the repository at this point in the history
  • Loading branch information
incrypto32 committed Jan 16, 2024
1 parent 3f41406 commit 1bd2ac5
Showing 1 changed file with 92 additions and 2 deletions.
94 changes: 92 additions & 2 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,95 @@

## Unreleased

## v0.34.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)](https://github.com/graphprotocol/graph-node/pull/4887) [(#4916)](https://github.com/graphprotocol/graph-node/pull/4916)
- **History Blocks in Manifest for Automated Pruning** - This update introduces the ability for subgraph authors to specify `historyBlocks` 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](https://github.com/graphprotocol/graph-node/pull/5032) [(#5117)](https://github.com/graphprotocol/graph-node/pull/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)](https://github.com/graphprotocol/graph-node/pull/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](https://github.com/graphprotocol/graph-node/pull/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)](https://github.com/graphprotocol/graph-node/pull/5029)
- **GraphiQL V2 Update** - Updated GraphiQL query interface of graph-node to version 2. [(#4677)](https://github.com/graphprotocol/graph-node/pull/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](https://github.com/graphprotocol/graph-node/blob/master/docs/sharding.md)
- Configurable Polling Intervals for RPC Block Ingestors - Graph-node introduces adjustable polling intervals for RPC-based block ingestors, enabling more precise control over block fetching. [(#5066)](https://github.com/graphprotocol/graph-node/pull/5066)
- Configurable Timeout for Unresponsive graph-node - A new feature in graph-node allows for configurable timeouts for unresponsive graphs, improving system responsiveness and monitoring. [(#4991)](https://github.com/graphprotocol/graph-node/pull/4991)
- Metrics Enhancements[(#5055)](https://github.com/graphprotocol/graph-node/pull/5055) [(#4937)](https://github.com/graphprotocol/graph-node/pull/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)](https://github.com/graphprotocol/graph-node/pull/4933)
- The `subgraphFeatures` endpoint in graph-node has been updated to load features from subgraphs prior to their deployment. [(#4864)](https://github.com/graphprotocol/graph-node/pull/4864)
- Improved log filtering performance in blockstream. [(#5015)](https://github.com/graphprotocol/graph-node/pull/5015)
- Enhanced GraphQL error reporting by including `__schema` and `__type` fields in the results during indexing errors [(#4968)](https://github.com/graphprotocol/graph-node/pull/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)](https://github.com/graphprotocol/graph-node/pull/5112)
- Fixed compatibility issues with ElasticSearch 8.X, ensuring proper log functionality. [(#5013)](https://github.com/graphprotocol/graph-node/pull/5013)
- Resolved an issue when rewinding data sources across multiple blocks. [(#5083)](https://github.com/graphprotocol/graph-node/pull/5083)
- Increased the base backoff time for RPC, enhancing stability and reliability under load. [(#4984)](https://github.com/graphprotocol/graph-node/pull/4984)
- Resolved an issue related to spawning offchain data sources from existing offchain data source mappings. [(#5051)](https://github.com/graphprotocol/graph-node/pull/5051)[(#5092)](https://github.com/graphprotocol/graph-node/pull/5092)
- Corrected the `deployment_running_count` metric for accurate deployment monitoring. [(#5086)](https://github.com/graphprotocol/graph-node/pull/5086)
- Resolved an issue where eth-call results for reverted calls were being cached in call cache. [(#4879)](https://github.com/graphprotocol/graph-node/pull/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)](https://github.com/graphprotocol/graph-node/pull/4995)
- Adjusted `SubstreamsBlockIngestor` to initiate at the chain's head block instead of starting at block zero when no cursor exists. [(#4951)](https://github.com/graphprotocol/graph-node/pull/4951)
- Fixed a bug that caused incorrect progress reporting when copying subgraphs, ensuring accurate status updates. [(#5075)](https://github.com/graphprotocol/graph-node/pull/5075)


### Graphman

- **Graphman Deploy Command** - A new `graphman deploy` command has been introduced, simplifying the process of deploying subgraphs to graph-node. [(#4930)](https://github.com/graphprotocol/graph-node/pull/4930)

<!--
- Enhanced data integrity by making it impossible to construct an `InputSchema` that does not validate. [PR#4899](https://github.com/graphprotocol/graph-node/pull/4899)
- Enhanced efficiency by optimizing `cached_head_ptr` calls within the process block. [PR#4978](https://github.com/graphprotocol/graph-node/pull/4978)
- Enabled rewinding past the graft block in graphman, enhancing flexibility in data handling. [PR#5107](https://github.com/graphprotocol/graph-node/pull/5107)
- **EntityType and Entity IDs Handling** - Improved clarity and safety in handling `EntityType` and entity ids. [(#4883](https://github.com/graphprotocol/graph-node/pull/4883)
- fix(logs): Fix for ElasticSearch 8.X by @leoyvens in https://github.com/graphprotocol/graph-node/pull/5013
* Allow querying subgraphs with more than one '/' in their name by @incrypto32 in https://github.com/graphprotocol/graph-node/pull/4926
* Log the progress of substreams by @zorancv in https://github.com/graphprotocol/graph-node/pull/4935
- Add more labels to `deployment_sync_secs` by @zorancv in https://github.com/graphprotocol/graph-node/pull/4965
* Label the specific method in eth_call metrics by @incrypto32 in https://github.com/graphprotocol/graph-node/pull/5017
* perf(store): Avoid the BRIN index for queries that filter by id by @leoyvens in https://github.com/graphprotocol/graph-node/pull/5010
* Make `function not found` a deterministic by @incrypto32 in https://github.com/graphprotocol/graph-node/pull/5038
* Make ABI errors in `eth_call` deterministic by @YaroShkvorets in https://github.com/graphprotocol/graph-node/pull/5046
* fix(runtime): improve error message for timeouts by @leoyvens in https://github.com/graphprotocol/graph-node/pull/4686
* docker: upgrade cloudbuild machineType by @incrypto32 in https://github.com/graphprotocol/graph-node/pull/4939
* Fix issues in runner tests by @leoyvens in https://github.com/graphprotocol/graph-node/pull/4962
* Test more types for DataSource context in manifest by @incrypto32 in https://github.com/graphprotocol/graph-node/pull/4897
* Metrics for DIPS experiments by @incrypto32 in https://github.com/graphprotocol/graph-node/pull/4940
* Rewrite integration tests by @lutter in https://github.com/graphprotocol/graph-node/pull/4950
* runner tests: Do not clobber api-version tests by @lutter in https://github.com/graphprotocol/graph-node/pull/4983
* Fix graphman not accepting table names by @incrypto32 in https://github.com/graphprotocol/graph-node/pull/4980
* docs: fix typos by @vuittont60 in https://github.com/graphprotocol/graph-node/pull/4944
* docs: Fix typos by @lutter in https://github.com/graphprotocol/graph-node/pull/4997
* refactor: Modernize a few util::futures tests by @leoyvens in https://github.com/graphprotocol/graph-node/pull/5009
* test: allow integration tests to run with different version of the `graph` cli by @dotansimha in https://github.com/graphprotocol/graph-node/pull/5037
* Fix typo at sharding.md by @rootwarp in https://github.com/graphprotocol/graph-node/pull/5048
* graph: Speed up some of the futures tests by @lutter in https://github.com/graphprotocol/graph-node/pull/5056
* fix(graphql): change CDN to JS Deliver for GraphiQL by @saihaj in https://github.com/graphprotocol/graph-node/pull/4941
* fix(tests): yarn workspace to install all subfolders by @saihaj in https://github.com/graphprotocol/graph-node/pull/4957
* fix(graphql): add crossorigin prop by @saihaj in https://github.com/graphprotocol/graph-node/pull/4948
* runner tests: Tag all log lines with the test name by @lutter in https://github.com/graphprotocol/graph-node/pull/4986
* tests: Make how long runner tests wait for sync configurable by @lutter in https://github.com/graphprotocol/graph-node/pull/4993
* Add docker instruction on main Readme by @marc-aurele-besner in https://github.com/graphprotocol/graph-node/pull/5027
* Update initialising database command for README.MD by @Umiiii in https://github.com/graphprotocol/graph-node/pull/5073
* Update offchain.md by @leoyvens in https://github.com/graphprotocol/graph-node/pull/5033
* Fix: substream datasources missing in TriggerFilter by @incrypto32 in https://github.com/graphprotocol/graph-node/pull/5001
* Create FUNDING.json by @azf20 in https://github.com/graphprotocol/graph-node/pull/5068
* More `InputSchema` refactorings by @lutter in https://github.com/graphprotocol/graph-node/pull/4990
* store: Use the internal block cache for ChainStore.blocks() by @lutter in https://github.com/graphprotocol/graph-node/pull/5050
* graph: Exclude Self from ObjectType.share_interfaces() by @lutter in https://github.com/graphprotocol/graph-node/pull/5049
* Add some tests for the recent blocks cache by @lutter in https://github.com/graphprotocol/graph-node/pull/5058
* Add blocks loaded from the database to the recent blocks cache by @lutter in https://github.com/graphprotocol/graph-node/pull/5059
* Make the RecentBlocksCache very dumb by @lutter in https://github.com/graphprotocol/graph-node/pull/5067
* Make the recent blocks cache more effective for concurrent lookups by @lutter in https://github.com/graphprotocol/graph-node/pull/5076
* core, graph, store: Do not use recent blocks cache for chain head by @lutter in https://github.com/graphprotocol/graph-node/pull/5081
-->

**Full Changelog**: https://github.com/graphprotocol/graph-node/compare/v0.33.0...3b599593d9f8fe2253a01d541d7accfaa2b326df

## v0.33.0

### What's New
Expand All @@ -15,7 +104,7 @@
- Added a '`paused`' field to Index Node API, a boolean indicating the subgraph’s pause status. [(#4779)](https://github.com/graphprotocol/graph-node/pull/4779)
- Proof of Indexing logs now include block number [(#4798)](https://github.com/graphprotocol/graph-node/pull/4798)
- `subgraph_features` table now tracks details about handlers used in a subgraph [(#4820)](https://github.com/graphprotocol/graph-node/pull/4820)
- Configurable SSL for Postgres in Dockerfile - ssl-mode for Postgres can now be configured via the connection string when deploying through Docker, offering enhanced flexibility in database security settings.[(#4840)](https://github.com/graphprotocol/graph-node/pull/4840)
- Configurable SSL for Postgres in Dockerfile - ssl-mode for Postgres can now be configured via the connection string when deploying through Docker, offering enhanced flexibility in database security settings.[(#4840)](https://github.com/graphprotocol/graph-node/pull/4840)
- Introspection Schema Update - The introspection schema has been updated to align with the October 2021 GraphQL specification update.[(#4676)](https://github.com/graphprotocol/graph-node/pull/4676)
- `trace_id` Added to Substreams Logger [(#4868)](https://github.com/graphprotocol/graph-node/pull/4868)
- New apiVersion for Mapping Validation - The latest apiVersion 0.0.8 validates that fields set in entities from the mappings are actually defined in the schema. This fixes a source of non-deterministic PoI. Subgraphs using this new API version will fail if they try to set undefined schema fields in the mappings. Its strongly recommended updating to 0.0.8 to avoid these issues. [(#4894)](https://github.com/graphprotocol/graph-node/pull/4894)
Expand All @@ -30,7 +119,8 @@
- Attestable Error for Nested Child Filters - Nested child filter queries now return an attestable `ChildFilterNestingNotSupportedError`, improving error reporting for users.[(#4828)](https://github.com/graphprotocol/graph-node/pull/4828)

### Graphman
- **Index on prefixed fields** - The graphman index create command now correctly indexes prefixed fields of type String and Bytes for more query-efficient combined indexes. Note: For fields that are references to entities, the behavior may differ. The command may create an index using left(..) when it should index the column directly.

- **Index on prefixed fields** - The graphman index create command now correctly indexes prefixed fields of type String and Bytes for more query-efficient combined indexes. Note: For fields that are references to entities, the behavior may differ. The command may create an index using left(..) when it should index the column directly.
- **Partial Indexing for Recent Blocks** - The graphman index create command now includes a `--after $recent_block` flag for creating partial indexes focused on recent blocks. This enhances query performance similar to the effects of pruning. Queries using these partial indexes must include a specific clause for optimal performance.[(#4830)](https://github.com/graphprotocol/graph-node/pull/4830)

<!--
Expand Down

0 comments on commit 1bd2ac5

Please sign in to comment.