- Complete migration from Persistent ORM to Hasql for direct PostgreSQL access.
- Improved syncing speed performance and cache efficiency
- Speed up no ledger migration pr[#1964]
- Fix duplicate pool_stat entries [#1987]. Any existing duplicate entries will be deleted by the migration
- Added insert_options "stop_at_block", which stops db-sync at a specified block.
- DBSync takes less frequent snapshots during syncing (one every 10 epochs).
- The epoch limit where the above holds can be configured with "snapshot_interval": {"near_tip_epoch": }
- Fixed
epoch_stakemissing entries for not dense epoch - affected testnets [#2044] - Fixed pointer addresses existing on Conway [#2053]
- Improved postgres scripts and fixed snapshot restoration [#1935]
off_chain_vote_datanow accepts data as long as the hash matches, even if they don't parse properly [#2005]- Fixed
off_chain_vote_data.is_validto not be null always. Existing nulls turned to true through a migration.
- Fix offchain data so it supports files up to 3MB [#1928]
- Upgrade to PostgreSQL 17
- Stop creating views and deleting them on every restart [#1950]
- Maintain less snapshots
- No longer crash if stage 1 or 2 migration have been altered
- Improvements for Address variant
- Fixes an issue where stopping the docker container results in non graceful shutdown
- Fixes an issue from ledger where DRep delegations could be removed under some conditions
- Fix an issue with migration from 13.5.x when consumed_tx_out config is enabled
- Fix rollbacks speed
- A new config
use_address_tableaddition makes it possible to use a separate table for addresses [#1697] - Support application/ld+json http mime type for vote metadata [#1842]
- Support fetching from ipfs, using a new config
ipfs_gateway[#1792] - Fix an issue with drep metadata images [#1857]
- Fix an issue with pool_stat [#1833]
- Expect pool_stat instead of pool_stats in config [#1880]
- Enacted gov_action_proposal are no longer marked as dropped
- Fix issue with
use_address_tablecrashing on some networks.
- Fix an issue with restarts
- Fix an issue with --disable-cache not working properly [#1838]
- Fix a crtitical bug with committee foreign key, that could cause crashes
- Fix consumed_by option for Byron inputs. A migration fixes old wrong values in place. [#1821]
- Fix only-utxo preset populating the metadata instead of the multiassets
- Voting metadata parsing falls back to CIP-100 when CIP-108 or CIP-119 is not followed [#1779]
- Extended the voting_anchor.type anchorType with vote, committee_dereg and constitution
- Fixed
only-utxomissing multi-assets [#1788] - Config can now override presets [pr #1775]
- Fixed Script bytes mismatch false negative check [#1646]
- Fixed an issue where some pool metadata were missing [#1805]
- Fix: docker snapshot restoration [pr #1776]
- only_gov config preset renamed to only_governance
- only_governance now enables pool_stat
- Support for Conway (see schema docs)
- Fixed epoch_param missing for the first Shelley era [#1715]
- Moved command line options that filter data to the config file
- Added epoch_state table
- Added an optional feature to store CBOR serialized transactions in
tx_cbortable [#1723] - Added an optional feature to store pool stats per epoch transactions in
pool_stattable - EnableFutureGenesis is now true by default
- Added
tx.treasury_donation
- Support node 8.9.x
- Add a new db-sync config field
EnableFutureGenesis. When false or missing, the conway genesis file is ignored
- Added a new table
epoch_stake_progresswhich indicates whenepoch_stakeis completed - Uses the cache for the computation of
epochtable when following - Renamed table
instant_rewardtoreward_rest. epoch_stakeis now computed earlier, before the epoch is reached- Exception handling and concurrency improved.
- When
--disable-ledgeris used, db-sync won't populate thetx.depositfield as it's too expensive - Support for Conway (see schema docs)
- Added a
--bootstrap-tx-outflag. Read more atdoc/configuration.md. - When
--consumed-tx-outis enabled, db-sync won't populate thetx_intable - Added flags
--force-tx-inwhich bypasses the default behaviour mentioned above - Migrations from consume to prune are now much faster
- References to
offlinefor pool metadata are replaced byoffchain - Added a new table
extra_migrations - DBSync no longer does any query to the
tx_outtable during syncing - Added flags
--disable-in-out,--disable-shelley,--disable-gov,--only-gov,--keep-tx-metadata - Move MIR from reward to instant_reward. Done with a migration.
- Remove redundant field
address_rawoftx_outandcollateral_tx_out - Partial Conway integration. You can read more in
doc/schema.md(tagged as Conway). Also in filesschema/cardano-chain-gen/schema/migration-2-0032-20230815.sqlandschema/cardano-chain-gen/schema/migration-2-0032-20230815.sqlfor the raw sql migrations. - Removed
reward.idfield.instant_rewardtable also doesn't have an id field.
- Adds compatibility with node-8.0.0 [#1403] and node-8.1.1 [#1455]
- Adds compatibility with the new format of the CostModel in Alonzo genesis file [#1403]
- Adds a procedure which fixes scripts with wrong cbor [Issue #1348]
- Fixes an issue where the
ada_potsdidn't match exactly the epoch boundary [Issue #1258] - Adds Developmental ghc-9.2 compatibility [#1404]
- Provided experimental options which turn off parts of the schema [#1379]
- Fixed an issue where
epochtable didn't rollback [#1370] - Fixed an issue with smash returning
InvalidUrlException[#1353] - Takes less snapshots, since big rollbacks are now faster
- When
--disable-ledgeris enabled a--state-diris no longer required - Added experimental extra migrations, controlled by
consumed-tx-outandprune-tx-out
- Upgrade dependencies and integrates a fix in ledger internal data structures.
- Integrates Cardano Haskell Packages (CHaP)
- Avoids rollbacks on restarts, making them way faster [#1190]
- Syncing speed is increased
- Allows to migrate from previous 13.x releases without resync [#1172]
- Creates a procedure that fixes old values related to plutus data [#1214] as the first step of migration [#1278]
- Removes many unique keys that were never used [#1087]
- Delays the creation of most indexes while syncing. They are created when syncing is almost complete [#1293]
- Removed all foreign keys [#1082]
- Reworked the way that rollback works, using reverse indexes.
- Aded a new
reverse_indextable to speed up rollbacks - Added experimental flags
skip-plutus-data-fix,only-plutus-data-fix,force-indexestocardano-db-sync - Added experimental flags
force-indexes,mock-fixforcardano-db-tool run-migrationscommand - Fixed Stake Pool metadata fetch error exceeded 512 bytes [#1270]
- Snapshot creation no longer rollbacks to the ledger snapshot file, so it's faster
- Columns
stake_address.tx_id,cost_model.block_idare removed - Bump iohk-nix to fetch the correct config for preview and preprod respin
- Added new flag
POSTGRES_ARGS(wih reccomended default values) todocker-compose.ymlfor customization of database settings
- Fixed an issue where
StakeAdresscache was not cleaned up properly and could cause crashes [#1222] - Fixed an issue where fees for txs with phase 2 failure which din't include the total_collateral fields appeared to be 0 [#1242]
- Fixed an issue where
Datumwere reserialised and could be inserted in a different CBOR format [#1214] - Improved docker documentation
- Made disable options like
disable-ledgereasily available through docker - Supported new networks, preview, preprod
- Bump to the latest node release.
- Integrated the fix for the missused minfee function in ledger (IntersectMBO/cardano-ledger#2938)
- Integrated the fix of the obsolete check in the new 'Praos' protocol (IntersectMBO/ouroboros-network#3891)
- Ensure Babbage TxOut decoder can't fail due to malformed Ptr. This bug manifests itself if db-sync is running in the Babbage era and shuts down, it has to re-sync from an Alonzo snapshot, or from Genesis if it doesn't exist. (#1181)
- Added
--disable-ledgerflag, which significantly reduces memory usage. Read more atdoc/configuration.md. - Reduction in memory usage.
- Reduction in sync-time.
- Added
--disable-cacheflag, which slightly reduces memory usage. Read more atdoc/configuration.md. - Renamed
--no-epoch-tableflag todisable-epoch. Read more atdoc/configuration.md. - Handle
PlutusV1andPlutusV2scripts as seperate script types, removing oldPlutustype - Store CBOR serialized
DatumandRedeemerviabytesfield - HF integration. Schema changes for new Babbage fields. (#1081).
- Improved logging. It includes some performance statistics.
- Used pulsing rewards coming from new ledger events. Also incremental stake slices.
- Extended the caches.
BulkOperationswhich affected memory usage and rollbacks are removed.- Removed "no-store" from metadata caching for smash (#1075)
- Added connection pools for smash, instead of opening a connection for each request. Configurable with
--poolfor admins. - Reduced the blocks it takes for prometheus block height to be updated.
- Add docker healthchecks for postgres and cardano-node.
- Fix unique keys of
reserves,treasury,pool_update,pool_retire,stake_registration,stake_deregistration,delegation(#1051). - Allow to add additional migrations (indexes and views) (#1044).
- Fix smash server error "Pool is retired" for pools that don't exist. (#997)
- Fix duplicate instant rewards (#981).
- Add multiple unit tests.
pool_ownernow referencespool_updateinstead ofpool_hashandtx(#986).- Fix handling of StakeRefPtr (#1024).
- Store
requiredSigners(transaction extra key witnesses). - outputs, inputs and multi asset outputs are stored in batched grouped by blocks, instead of one by one.
- Fix parameter_proposal.max_block_size (#965).
- Remove plugin System, merges 3 packages
cardano-db-sync-extended,cardano-syncandcardano-db-syncinto the last. - Fixes on testnets that fork directly to Shelley (#953).
- Log cabal version, git hash and command line options on startuo (#1166).
- Fix PoolOfflineFetchError URL entry (#697).
- No changes.
- Note that this release requires the database to be dropped and recreated.
- Update
rewardtypeenum (used inrewardtable) to include a pool deposit refund type. - Include
jsonand (raw)bytesfields toscripttable. - Add
cost_model,datumandredeemertables. - Update
cost_model*fields ofparam_proposalandepoch_paramtables to referencecost_modeltable. - Unify SQL types of epoch_stake.epoch_no and epoch.no (#811).
- Fix missing and inconsistent rewards issues (#791, #796, #805. #882, #826, #918, #921, #923, #939, #947).
- Handle the empty list case in insertManyUncheckedUnique (#869).
- Add a
multi_assettable withpolicy,nameand assetfingerprintcolumns (#868). - Drop the
policyandnamecolumns ofma_tx_mintandma_tx_outtables, replacing those columns with a reference to themulti_assettable. - Stop supporting test configs which don't initiate Shelley properly.
- Fix handling of transactions which have contracts which fail second stage validation (#883).
- Update system requirements (#951).
- Fix race condition on insertion of pool offline data or error response (#806, #823, #858).
- Use same dependencies as 1.30.1 of
cardano-node. - Fix race condition on insertion of pool offline data or error response (#806, #823, #831).
- Fix schema documentation typo (#799).
- Fix race condition on insertion of pool offline data or error response (#806, #823).
- Fix docker issue (#810).
- Note that this release requires the database to be dropped and recreated.
- Alonzo support.
- Database changes as per cardano-db changelog.
- Add run time validation that the on-disk schema matches what the app expects (#472).
- Add partial validation of
Rewardtable.
- Fix docker issue (#686).
- Note that this release requires the database to be dropped and recreated. Restoring the
db-syncstate can take a long time so it is possible to restore it from a snapsot file. Seedoc/state-snapshot.md. - Ability to create and restore state snapshots (#613).
- Documentation updates.
- Fix network id for reward_addr in pool_update table (#546).
- Update utxo_view query (#543).
- Minor update of database schema.
- Remove
merkle_rootfield fromblocktable. - Refactor/improve rollbacks (#570).
- Interleave bulk insertion (
epoch_stake,rewardandorphaned_reward) with regular insertions. - Fetch and insert pool offline metadata.
- Update a couple of uniqueness constraints.
- Fix PoolUpdate activeEpochNo field (#610)
- Add EpochSyncTime table (#621).
- Update system requirements in Readme.hd.
- Note that this release requires the database to be dropped and recreated.
- Requires ghc-8.10.x tp build.
- Documentation updates.
- Improve DbSync API.
- Add
delegation_slot_nocolumn todelegationtable to simplify a query used when populating the database. - Improve the way database inserts are done.
- Fix
blk_countcolumn inepochtable for epochs without transactions (#296). - Extract new package
cardano-sync(which contains only the functionality require to sync the chain, and avoids all PostgreSQL dependencies) fromcardano-db-sync. - Add static (musl64) linux builds.
- Add and populate
ada_potstable. - Fix network id for
reward_addrinpool_updatetable (#546).
- Note that this release requires the database to be dropped and recreated.
- Requires version 1.25.0 or later of the node.
- Documentation updates.
- Update dependencies.
- Vastly improve database rollback performance (#256, #397).
- Split the ledger state rewards into valid and invalid sets (#415, #467).
- Fix tx_count for genesis blocks (#471).
- Fix typo in database column name (Merkel -> Merkle) (#446).
- Improve logging.
- Handle case where latest ledger state file cannot be parsed (#483).
- Improve handling/naming of ledger state files.
- Fix Prometheus metrics server (#154).
- Make the port that the Prometheus metrics server listens on configurable (#488).
- Upgrading from 7.0.x will not require the database to be dropped and recreated but upgrading from 6.0.x and earlier will require it.
- Update dependencies.
- Support for the Mary era (ie multi-asset support).
- Fix issues with transactions invalidBefore/invalidHereafter fields.
- Note that this release requires the database to be dropped and recreated.
- Update dependencies.
- Support for the Allegra era (ie support for time locking of transactions).
- Log an error if excessive rollback is required on startup. It is up to the operator to drop the database and restart.
- Add hash checking when maintaining ledger state and fix race condition (#398).
- Note that this release requires the database to be dropped and recreated.
- Update dependencies.
- Maintain a copy of the ledger state which contains data that is not on chain.
- Add Reward table (populated from ledger state).
- Rejig how configuration is handled (it now reads the node's config file).
- Read node config from a path relative to db-sync config (#321).
- Rename ParamUpdate table to ParamProposal.
- Fix uniqueness constraint for PoolRetire table (#306).
- Add and populate EpochParam table (for Shelley not Byron).
- Add and populate EpochStake table (#319).
- Fix handling of PersistRational DbWord64 values (#334).
- Store Bech32 encodings of two more fields (#295).
- Fix bad registeredTxId uniqueness constraint on StakeAddress (#326, #327) (this was never included in a release).
- Robustify handling of the Word64 types in database (#334, #351).
- Add version number CLI commands for standard and extended db-sync
- Fix incorrect hash for SlotLeader (#349).
- Fix pool_id column in reward table (#361).
- Add a stake_address_id column to the tx_out table
- Documentation updates.
- Improve the way ProtVer is stored in the database (#368).
- Fix EpochNo column of EpochStake table (#379).
- Add the epoch nonce field to the EpochParam table (#332).
- Fix handling of unsigned 64bit integer fields (#334, #335).
- Update dependencies.
- Temporary workaround for Unicode NUL character issue (#297).
- Note that this release requires the database to be dropped and recreated.
- Correct uniqueness constraint on PoolOwner (#251).
- Resurrect the 'cardano-db-tool validate' functionality.
- Rename (correct and clarify) column names in ParamUpdate table.
- Fix calculation of 'deposit' field of Tx table (#249).
- Add a 'registeredTxId' column to PoolOwner table (#281)
- Note that this release requires the database to be dropped and recreated.
- Add and populate 'tx_metadata' table.
- Insert stake deregistrations into correct table. Previously deregistrations were inserted into the registration table.
- For all transaction certificates, add index within the transaction (#230).
- Fix certificate ordering issues that resulted in an abort if a MIR certificate was found whose output was a stake address that was inserted later in the same tx (#237).
- Make sure stake_address registrations are correctly handled on rollbacks (#238).
- In 'tx_out' table, store the raw as well as rendered version of 'address' (#223).
- In 'stake_address' table, store the raw as well as rendered version (#224).
- Fix epoch start and end times in epoch table (#242).
- Make 'delegation' and 'pool_retire' tables reference 'pool_hash' table instead of 'pool_update.
-
- Updates to support the schema additions, see cardano-db 2.0.0 CHANGELOG.md
- Note that this release requires the database to be dropped and recreated. It requires cardano-node 1.16 or later.
- Add support for the cardano-node in Cardano mode (#186, #188, #196)
- Note that this release requires the database to be dropped and recreated
- Schema changes, see cardano-db 2.1.0 CHANGELOG.md
- Add handling of Shelley era blocks to the existing handling of Byron era blocks
- Shelley is still not fully supported
- Fix/improve the rollback handling logic
- Note that this release requires the database to be dropped and recreated
- Schema changes, see cardano-db 2.0.0 CHANGELOG.md
- Fix a bug related to block rollback (#61)
- Fix handling of OBFT epochs without transactions (#40)
- Add a block count column to the "epoch" cache table (#42, #46, #51)
- Add validation test for the epoch cache table (#42, #46, #51)
- Add an "Epoch" convenience VIEW to the DB schema (#31)
- Add index to the TransactionInput view (#67)
- Add support for multiple chains in a single database (#76, #77)
- Update dependencies to latest versions (#39, #55, #78)
- Improve README (#32, #38, #57, #58)
- Improve example docker config (#59)
- Renamed from cardano-explorer-node to cardano-db-sync.
- Source repository renamed to cardano-db-sync.
- Improve chain sync behavior when database chain is ahead of node.
- New plugin system to allow application-specific variations (e.g. caching)
- Improve exception handling and reporting.
- Improved documentation.
- Update dependencies to latest versions.
- Use threaded RTS to avoid potential IPC problems on OSX.
- Better default logging verbosity configuration.
- Update dependencies to latest versions.
- Docker image: log all runit services to stdout
- Initial documentation on how to use build and run the components in docker
- Update dependencies to latest versions.
- Update dependencies to latest versions.
- Update to latest version of cardano-ledger, ouroboros-network, ouroboros-consensus, iohk-monitoring-framework, and cardano-shell libs.
- Updated to latest network library version and simpler API
- First release of new explorer based on new Cardano node.
- Syncs chain data from a local node into a PostgreSQL DB.
- Compatible with new Cardano node for Byron era.