Releases: cardano-foundation/cardano-graphql
Cardano Graphql 5.1.0-beta.0
This pre-production feature release extends the API to include Alonzo concepts, including new top level queries for scripts
, collateralInputs
, and redeemers
, plus extensions to the Transaction
model, protocol parameters, and genesis.
The API is not guaranteed to be stable, however is suitable for testing integrations on non-mainnet networks. See the schema diff for full details.
Compatible with:
cardano-node-ogmios
:v4.0.0-beta.5
cardano-db-sync
:alonzo-purple-1.0.1
- Note: The database must be recreated using the new version. See the Wiki for instructions.hasura/graphql-engine
:1.3.3
Features
- Alonzo data mapping (eff1d9c)
- Add
AlonzoGenesis
(d600dc0) - Add Alonzo blocks to conditional chain following (8d6aaf4)
Bug Fixes
- Guard logic (110deaa)
- OperationRequiresNodeInCurrentEra -> OperationRequiresSyncedNode (6165965)
- startup race-condition with chain-followers (0b15315)
Known Issues
- Submitting random string to the submitTransaction mutation hangs #545
Sign off
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ⏳ |
Release Manager | ✔️ |
Cardano GraphQL 5.0.0
This major release improves the efficiency and reliability of the service by utilising Ogmios as the node interface, replacing cardano-cli
and implementing a chain-sync client for discovering assets upon first mint in favour of regularly diffing a large data set. A PostgreSQL-backed queue helps achieve this, and can be observed within the pgboss
schema. The docker-compose
stack now uses cardano-node-ogmios
as a drop-in replacement for cardano-node
, and enables all communication from the cardano-graphql
service to be done via TCP. There are a number of small features, and bug fixes listed below. Please follow the upgrade instructions in the Wiki
Compatible with:
cardano-node
:1.27.0
cardano-db-sync
:10.0.1
- Note: The database must be recreated using the new version. See the Wiki for instructions.hasura/graphql-engine
:1.3.3
⚠ BREAKING CHANGES
Asset.assetName
andAsset.assetId
are now typed asHex
, as the relationship fromAssets
toTokenMints
needed to be established using the underlying table, whereassetId
is not present.- Configuration of the asset metadata fetching is now a single value.
POLLING_INTERVAL_METADATA_SYNC_INITIAL
andPOLLING_INTERVAL_METADATA_SYNC_ONGOING
are replaced byASSET_METADATA_UPDATE_INTERVAL
, which is the number of seconds before the service checks the registry for updates. - AssetSupply.total is now an optional field and can return null.
- Transaction.metadata is now
JSON
type, notJSONObject
- Despite the name,
JSONObject
was mapped to the underlying JSON resolver as a workaround to avoid breaking changes.
- Despite the name,
- The fields previously modeled on Token have been nested under Token.asset
tokens
andtokens_aggregate
have been removed in favour ofassets
andassets_aggregate
- Asset properties nested under
PaymentAddress.assets
are now underPaymentAddress.assets.asset
Block.merkleRoot
removed, as no longer part ofcardano-db-sync
schema. (8b3b718)
Features
- Replaces the use of
cardano-cli
with Ogmios for interacting with the node using JSON-WSP, and implements the convenientcardano-node-ogmios
Docker image as a drop-in replacement for thecardano-node
image. - Sync assets using chain-sync protocol via Ogmios (784509e)
tokenMints
andtokenMints_aggregate
queries (f803b94)- Add query complexity validations (24a14a9),
- Add default query complexity calculations with arguments (b16c77d)
- Implement complexity in resolvers (5664a55)
- Use cardano-node config for lastConfiguredMajorVersion (5a621c2), closes #454
- Add Epoch_bool_exp.startedAt (4cc580a)
- Add TransactionOutput_bool_exp.index (34d5438)
- Allow ordering of assets by token mint count (cfbb039)
- Asset metadata decimals (082f509)
Bug Fixes
- Improve startup robustness (7054a59)
- The GraphQL server is now delayed until all modules are initialized, and running. If
cardano-db-sync
reboots, all
modules are shutdown, and restarted and therefore links the server availability with a fully initialized stack.
- The GraphQL server is now delayed until all modules are initialized, and running. If
- Add order_by to asset query (5848c24)
- Asset_bool_exp.tokenMints (7616a49)
- assetFingerprint bug when no assetName present (9a61d91), closes #487
- Await all promises in shutdown function (3d7ef11)
- Await CardanoNodeClient init before starting server (f33f6aa)
- cardanoDbSyncMeta.initialized during startup (d6649cf)
- Casing on invalid hereafter in GraphQL schema (854ec4a), closes #390
- Copy cardano-node config into Docker image (4bf4866)
- Default metadata server URI (2a98055)
- Disable CORS in Hasura graphql-engine (4499422), closes #392
- Ensure DB is in current era before completing HasuraClient initialization (0d43abc)
- Guards on missing current epoch row (6204c96)
- Log all error messages during service startup, not just
HostDoesNotExist
(c81aad8) - Memory leak in Hasura GraphQL client (3c8511d)
- Move current era check to be lazy operation (7830c91)
- Move graphql-engine option under serve command (f76e944)
- policyId comparison expression type (99318cc), closes #485
- Remove promise chaining cycle (8b55ca0), closes #459
- Reorder logging arguments based on Bunyan interface (46b26a0)
- Restore protocol params fetcher init (e86fc1a)
- Scoping on package (82e2040)
- submitTransaction error mapping (3629725)
Known Issues
- Submitting random string to the submitTransaction mutation hangs #545
Sign off
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ⏳ |
Release Manager | ✔️ |
Cardano GraphQL 4.0.0
This major release adds support for querying asset information outside the context of a transaction, including a cached copy of the off-chain metadata from the Cardano Token Registry. The Token
type has been adapted to support a more natural model, with Token.asset
now containing the on-chain asset information alongside the metadata properties. There are two new config options to customise the metadata sync behaviour, which are documented in the Wiki. This release also reduces resource demand introduced in 3.2.0, and takes the opportunity to complete a few API-breaking chores that are listed below.
Compatible with:
cardano-node
:1.25.1
cardano-db-sync
:9.0.0
- The database must be recreated using the new version. See the Wiki for instructionshasura/graphql-engine
:1.3.3
BREAKING CHANGES
-
StakePool.url no longer URL type. The ledger does not validate the url value provided by the owner, therefore trying to impose rules around the structure will fail.
-
Transaction.metadata is now more accurately JSON type, not JSONObject. Despite the name, JSONObject was currently mapped to the underlying JSON resolver as a workaround to avoid breaking changes.
-
The fields previously modelled on Token have been nested under Token.asset. tokens and tokens_aggregate have been removed in favour of assets and assets_aggregate. Asset properties are now nested under PaymentAddress.summary.assetBalances.asset
Features
- Introduce asset model and fetch metadata from external service (#432)
- Ada Pots (#450)
- Asset.tokenMints and Asset.tokenMints_aggregate
Bug Fixes
- ActiveStake.stakePoolHash field name (08fe609)
- Add Mint.asset relationship (0deaaac)
- Add remaining Asset fields Hasura query used to fulfil paymentAddress query (879db94)
- Batch asset synchronising operations (637d607)
- Block.merkelRoot -> Block.merkleRoot (b9e1e13)
- Include rewards in ada circulating supply (69f23c1)
- StakePool.url is now type String (a661525)
- StakePoolRetirement_bool_exp.inEffectFrom type (96aa708)
- Correct Transaction.metadata type (79205a2)
- Remove cardano-cli ledger-state query, make AssetSupply.total optional (f86ef42)
- Use cardano-node config for lastConfiguredMajorVersion (5a621c2), closes #454
- Replace cardano-cli query with db lookup for protocol params (a6387b3)
- Throw error in resolver rather than return it (dd9a031)
Sign off
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ⏳ |
Release Manager | ✔️ |
Cardano GraphQL 3.2.0
This feature release includes the major items of supporting Native Tokens, adds a query to return Ada supply information, and provides a GraphQL mutation to submit a signed transaction to the network. Users need to upgrade to this version (or later) to cross the Native Tokens hard fork.
Please note that the repository now contains git submodules. Clone instructions are in the README.
Compatible with:
Features
- Multi-asset support #404
- Ada supply query #386
- Submit transaction mutation #414
- Structured logging #386
- Improve delegation and active stake models #409
- Report sync progress in logs during initialisation #409
Bug Fixes
- GraphQL schema order_by #409
- Guard against simultaneous data fetches #386
- Opt-out of Hasura CLI telemetry #409
- Pass logger to onFailedAttempt #404
- Replaces the time-based logic to determine sync progress and initialisation state #407, closes #248
- Reward and StakeDeregistration order_by fields #384, closes #382
Sign off
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ⏳ |
Release Manager | ✔️ |
Cardano GraphQL 3.1.1
Cardano GraphQL 3.1.0
This feature release is compatible with the upcoming token locking Cardano update. It adds transaction validity interval fields and includes fixes as documented in the CHANGELOG.
Compatible with:
Sign off
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Cardano GraphQL 3.0.1
This patch release incorporates the [email protected]
fix, updates to Hasura v1.3.3, and includes internal fixes as documented in the CHANGELOG.
Compatible with:
Sign off
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Cardano GraphQL 3.0.0
This new major version brings the second round of Shelley-era features to the API, including rewards, active stake captured at each epoch boundary, transaction metadata, protocol parameters in effect during the epoch, and custom types for the Bech32 values covered by CIP5.
You may be impacted by breaking changes, which are listed in the CHANGELOG
Compatible with:
cardano-node
:1.21.1
cardano-db-sync
:6.0.0
- Note: The database must be recreated using the new version.hasura/graphql-engine
:1.3.2
Sign off
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Cardano GraphQL 2.2.1
This is a maintenance release with cardano-db-sync
dependency upgrade to its latest cardano-db-sync 5.0.3 release to move off cardano-db-sync 5.0.2
, which has a known critical issue.
Compatible with
Improvements
cardano-db-sync
dependency upgrade to its latest cardano-db-sync 5.0.3
Documentation
README provides complete overview and documentation:
Supported Platforms
- Linux 64-bit
- Docker
Sign off
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Release Manager | ✔️ |
Cardano GraphQL 2.2.0
This minor update makes it possible to naturally access withdrawals from the context of a transaction, rather than performing two separate queries and combining the result sets. Now the total output for a transaction can be accounted for using Transaction.withdrawals
in addition to Transaction.inputs
. A combined schema is also now included in the TypeScript client package, to simplify IDE configuration and code generation operations.
Compatible with
New Features
- Added
Transaction.withdrawals
inapi-cardano-db-hasura
: #318
Improvements
Documentation
README provides complete overview and documentation:
Supported Platforms
- Linux 64-bit
- Docker
Sign off
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |