Releases: cardano-foundation/cardano-graphql
Cardano GraphQL 7.0.0
This major release supports the upcoming Vasil protocol upgrade.
Compatible with:
cardano-node
:1.35.3
cardano-ogmios
:v5.5.5
cardano-db-sync
:13.0.4
- Note: The database must be recreated using the new version.hasura/graphql-engine
:1.3.3
⚠ BREAKING CHANGES
- Collateral outputs
- Add ProtocolParams type to better represent current protocol params
- Remove remnants of previously deprecated config
Reward.receivedIn
nullabilityReward.stakePool
is now nullable to handle rewards of typetreasury
orreserves
.
System Requirements
- DB Sync system requirements
- The system requirements for cardano-db-sync (with both db-sync and the node running on the same machine are:
- Any of the big well known Linux distributions (eg, Debian, Ubuntu, RHEL, CentOS, Arch etc).
- 24 Gigabytes of RAM.
- 4 CPU cores.
- 80 Gigabytes or more of disk storage (preferably SSD which are 2-5 times faster than electro-mechanical disks).
- The recommended configuration is to have the db-sync and the PostgreSQL server on the same machine. During syncing (getting historical data from the blockchain) there is a HUGE amount of data traffic between db-sync and the database. Traffic to a local database is significantly faster than traffic to a database on the LAN or remotely to another location.
- The system requirements for cardano-db-sync (with both db-sync and the node running on the same machine are:
The host machine will need at least 32 Gigabytes of RAM to run the full cardano-graphql
stack.
Features
- Add
TransactionOutput
|CollateralOutput
.paymentCredential
(e6e2d45) - Add Transaction.referenceInputs (2c5e0b5)
- Collateral outputs (a222cb4)
- Support Babbage block (fe484e1)
- Support Plutus data (58f6c48)
- Remove remnants of previously deprecated config (c3fc2aa)
- Update to Ogmios v5.5.0 cardano-db-sync 13.0.0 (b821f21)
Bug Fixes
Redeemer.fee
is nullable in the Babbage era (813a7ae)- Add ProtocolParams type to better represent current protocol params (73cf785)
- api-cardano-db-hasura: define response as optional in metadata server errors (ca5d556)
- cli: correct services option (f600d31)
- Gracefully shutdown cardano-db-sync (2f02e56), closes /github.com/CardanoSolutions/ogmios/blob/c32341e56ccbeb1cf1e803d4607699668a1e2cc2/Dockerfile#L73
- Reward.receivedIn nullability (9a3dcf5)
- Trim whitespace from credentials in server config (b40a596)
Sign off
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ⏳ |
Release Manager | ✔️ |
Cardano GraphQL 6.2.0
Compatible with:
System Requirements
- DB Sync system requirements
- The system requirements for cardano-db-sync (with both db-sync and the node running on the same machine are:
- Any of the big well known Linux distributions (eg, Debian, Ubuntu, RHEL, CentOS, Arch etc).
- 24 Gigabytes of RAM.
- 4 CPU cores.
- 80 Gigabytes or more of disk storage (preferably SSD which are 2-5 times faster than electro-mechanical disks).
- The recommended configuration is to have the db-sync and the PostgreSQL server on the same machine. During syncing (getting historical data from the blockchain) there is a HUGE amount of data traffic between db-sync and the database. Traffic to a local database is significantly faster than traffic to a database on the LAN or remotely to another location.
- The system requirements for cardano-db-sync (with both db-sync and the node running on the same machine are:
The host machine will need at least 32 Gigabytes of RAM to run the full cardano-graphql
stack.
Features
- Support change to asset ticker length (b858445)
Bug Fixes
Known Issues
- Submitting random string to the submitTransaction mutation hangs #545
Sign off
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ⏳ |
Release Manager | ✔️ |
Cardano GraphQL 6.1.0
This minor release adds compatibility with cardano-db-sync@12
and cardano-node@1.31.0
, plus fixes a bug relating to Transaction.collateral
.
Compatible with:
cardano-node
:1.31.0
cardano-ogmios
:v4.2.1
cardano-db-sync
:12.0.0
- Note: The database must be recreated using the new version.hasura/graphql-engine
:1.3.3
System Requirements
- DB Sync system requirements
- The system requirements for cardano-db-sync (with both db-sync and the node running on the same machine are:
- Any of the big well known Linux distributions (eg, Debian, Ubuntu, RHEL, CentOS, Arch etc).
- 24 Gigabytes of RAM.
- 4 CPU cores.
- 80 Gigabytes or more of disk storage (preferably SSD which are 2-5 times faster than electro-mechanical disks).
- The recommended configuration is to have the db-sync and the PostgreSQL server on the same machine. During syncing (getting historical data from the blockchain) there is a HUGE amount of data traffic between db-sync and the database. Traffic to a local database is significantly faster than traffic to a database on the LAN or remotely to another location.
- The system requirements for cardano-db-sync (with both db-sync and the node running on the same machine are:
The host machine will need at least 32 Gigabytes of RAM to run the full cardano-graphql
stack.
Bug Fixes
- Add missing
Transaction.collateral
Hasura table config (8a5f93e)
Known Issues
- Submitting random string to the submitTransaction mutation hangs #545
Sign off
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ⏳ |
Release Manager | ✔️ |
Cardano GraphQL 6.0.0
This major release changes the Reward
type to support rewards received from the treasury or reserves via move instantaneous reward (MIR) operations, improves the visibility of Asset
table sync status on startup, and facilitates restoring a cardano-db-sync
snapshot which is documented in the README.
Compatible with:
cardano-node
:1.30.1
cardano-ogmios
:v4.1.0
cardano-db-sync
:11.0.4
- Note: The database must be recreated using the new version if you are upgrading from v10 or lower.hasura/graphql-engine
:1.3.3
⚠ BREAKING CHANGES
Reward.stakePool
is now nullable to handle rewards of typetreasury
orreserves
.
Features
- Include all reward types in Reward model, adds
type
field (6f1ddd9) Reward.receivedIn
(e9e5715)TransactionInput_order_by.transaction
(f775c45)- Use Asset table sync status to determine Server readiness (dfff8d5)
Bug Fixes
- Add permission to Reward.type, and index the column (6f157a5)
- Make METADATA_SERVER_URI required config (552c5e8)
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.1.0
This 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. It's now possible to pull and run the Docker Compose stack without building images locally, by pulling all images from Docker Hub first. The README has been improved to cover this new option, and provides up/down commands for each supported network for convenience.
Compatible with:
cardano-node
:1.29.0
cardano-ogmios
:v4.0.0-beta.9
cardano-db-sync
:11.0.0
- Note: The database must be recreated using the new version.hasura/graphql-engine
:1.3.3
Features
- Support Docker pull and run to skip builds (ee03a57)
- Alonzo data mapping (eff1d9c)
- Add
AlonzoGenesis
(d600dc0) - Add Alonzo blocks to conditional chain following (8d6aaf4)
Bug Fixes
- Add network suffix to Docker Compose file (53059b9)
- Guard sync drift between cardano-db-sync and cardano-graphql (3c9707b)
- Properly handle error as known exception (755c500)
- Invalid cache target in compose file (4b4dfc3)
- 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.1.0-beta.1
beta.1
It's now possible to pull and run the Docker Compose stack without building images locally, by pulling all images from Docker Hub first. The README has been improved to cover this new option, and provides up/down commands for each supported network for convenience.
Compatible with:
cardano-node-ogmios
:v4.0.0-beta.6
cardano-db-sync
:alonzo-purple-1.0.1
- Note: The database must be recreated using the new version. If you are upgrading from a previous beta skip this step, otherwise see the Wiki for instructions.hasura/graphql-engine
:1.3.3
Features
- support Docker pull and run to skip builds (ee03a57)
Bug Fixes
- invalid cache target in compose file (4b4dfc3)
Known Issues
- Submitting random string to the submitTransaction mutation hangs #545
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.
Sign off
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ⏳ |
Release Manager | ✔️ |
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 | ✔️ |