All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Improve data sources filtering handling and error messages
Upgrade priority: High. Fix failed to store schema object array in correct format in database.
- When the schema object type is an array convert to Jsonb type (#406)
Upgrade priority: Low. Upgrade only to support a new polkadot/api
version and for types.
- Bump
polkadot/api
to 5.2.1 (#402)
- Disable
api.at()
in patched API (#402) - Fix to improve snake case handling for foreign keys and unique index constraint (#382)
- Fix
subql-node --help
so that it displays full options (#396)
- Expose best block height in meta (#392)
Upgrade priority: High. Recommend for all projects to upgrade. Require re-indexing if the project previous deployed with node v0.17.0 to v0.17.3
- Fix metric listener handle skip dictionary (#380)
Upgrade priority: High. Require re-indexing if the project previous deployed with node v0.17.0 to v0.17.3 due to some blocks are missed when indexing.
- Fix problem when filling the block number buffer missing the last number which has caused some block records are missing. (#378)
Upgrade priority: High.
- Fixed bug that prevented indexes from being added automatically on foreign keys (#371)
- add profiler to monitoring indexer performance (#369)
- add metrics to listen status of using dictionary and number of times it been skipped. (#369)
Upgrade priority: High.
- fix get runtimeVersion failed when fetch service initialization (#367)
- set useDictionary to false when one of the event/extrinsic filters are not provided (#367)
Upgrade priority: High.
- Fix an edge case for dictionary query, add blocknumber max range to speed up dictionary (#365)
- Add an external dictionary feature to massively improve indexing speed.
- Enable by
--network-dictionary=<dictionary_HTTP_url>
or inproject.yaml
- read more (#342) - Add dictionary service to fetch dictionary from external GraphQL API (#342)
- Add additional block number buffer in fetch service to handle incoming dictionary data (#342)
- Enable by
- replace vm2 with @subql/x-vm2 (#358)
- Update other dependencies (#358)
- Bump polkadot/api to 4.16.2 (#363)
- Add arg for enable/disable timestamp created_at and updated_at though
--timestamp-field
(#352)
- metadata expose last processed block (#327)
- Remove created_at and updated_at from table (#343)
- Bump polkadot/api to 4.15.1 (#350)
- Bump polkadot/api to 4.11.2
- Bump polkadot/api to 4.11.1
- Skip fetch finalized block until API is ready.
- Fix indexes detection
- Use pull instead of subscribe to get new block height. This solves issues where the subscription stalls and SubQuery reports an incorrect block height.
- Not all
api.rpc
are banned now, historical RPC methods can be called. See the docs link (#304) - Bump polkadot/api dependency (#310)
- Replace vm2 with fork to support lib like
@polkadot/*
that uses esm as default (#311)
- Bump release version due to recent major updates, also need publish new release to npm.
- Automatically verifies that a model's indexed fields are supported by extracting indexed fields from the database (#289)
- [Experimental Feature] We're removed the restrictions on using third party CommonJS libraries in your SubQuery project sandbox - please read more about this in our updated documentation (#292)
- Support for more NodeJS modules (
buffer
,crypto
,util
,events
, andpath
) (#294)
0.12.2 - 2021-04-21
- Enforce index on foreign key field (#285)
- Improve logs for db sync, catch error and exit (#283)
0.12.0 - 2021-04-20
- Bump dependencies for logger
- Fix query for double map storage (#269)
- Support network filter for dataSources (#247)
- Expose events in SubstrateBlock (#256)
- api.findCall and api.findError will use current block's metadata (#251)
- Inject global variable logger in sandbox and depricated console.log in subquery project, use logger instead. (#259)
- Create indexes on the fields with @index and allow querying by indexed field (#271)
- Create jsonb column for fields marked as jsonField in schema.graphql (#275)
- Bump @polkadot/api version to v4.6.2
0.11.0 - 2021-03-25
- Fix benchmark output format issues (#235)
- Only warning when user set start block to number smaller than 1. (#239)
- Support entity relations (#132)
- Refactor api.query...multi(), api.queryMulti() to use rpc.queryStorageAt() (#244)
0.10.2 - 2021-03-11
- refactor logger to @subql/common (#220)
- Bump polkadot/js version to v4.0.3 which shall fix a chain data decoding issue (#222)
0.10.1 - 2021-03-03
- use parent's specVersion to decide if metadata need to be injected (#211)
0.10.0 - 2021-03-03
- performance improvement: reduce injectMetadata call (#206)
- performance improvement: reduce specVersion query for each batch (#207)
0.9.2 - 2021-03-03
- more comprehensive timeout error stack (#198)
- use logger.info() instead of log() for sandbox logging (#197)
- estimate time remaining consider block increases (#199)
- add configurable timeout (#202)
- bump @polkadot/api to 3.11.1 (#203)
0.9.1 - 2021-03-03
- revert metrics name changes (#193)
- Update subquery starter repo path to new organization (#196)
0.9.0 - 2021-02-23
- Ian improve error logging (#181): support --log-level flag, error stack will be correctly organized
- Add benchmark outputs (#183): will print benchmark stats every 15s
- add meta api and store network info in subqueries table (#191)
- fix memory overflow and timeouts while indexing a large number of events
0.8.3 - 2021-02-17
- keep retrying failed block not skipping it (#175)
0.8.2 - 2021-02-16
- fix query.system.lastRuntimeUpgrade return null before the first runtime upgrade, use rpc.state.getRuntimeVersion instead (#169)
- after connection reconnected, indexing will now resume (#168)
0.8.1 - 2021-02-15
- fix dependencies (#164)
0.8.0 - 2021-02-15
- bump dependencies
- don't freeze table name (#161)
- cache metadata if specVersion bumped (#156)
- improve logging, support --output-fmt=json (#158)
- support override network endpoint from --network-endpoint flag (#157)
- add prometheus metrics (#159)
0.7.0 - 2021-01-27
- fix crash for events not own by extrinsic (#120)
- batch fetch blocks (#124)
- wrap all handler executions of same block in a db transaction (#125)
- node add startscript (#128)
0.6.0 - 2021-01-25
- bump @polkadot/api (#90)
- clean up console output unless start with --debug (#95)
- bump @polkadot/api to v3.6.3 (#109)
- patch and inject api in sandbox context (#103)
- support specVersion filter and success filter (#106)
- support other custom types option that @polkadot/api has (#107)
0.5.0 - 2021-01-15
- Fix BigInt transformation (#79)
- escalate sandbox out of IndexerManager (#83)
0.4.0 - 2021-01-12
- allow user to define start block in project (#54)
- add local flag to support create all tables in the default db schema (#59)
- retry when can not establish connection with postgres (#61)
- add priority to find subquery project entry point from package json file (#60)
- support load project from tarball file (#55)
- read db connection strings from env (#63)
- [BREAKING] project manifest spec updated to support custom types (#65)
0.3.0 - 2021-01-06
- support callHandler and eventHandler (#47)
- support block handler
- put subquery tables in their own db schema
- use BigInt instead of BN (#27)
- bump @polkadot/api to 3.1.1