|
| 1 | +# Revision history for cardano-db-sync |
| 2 | + |
| 3 | +## 13.4.0.0 |
| 4 | + |
| 5 | +* Added `tx.treasury_donation` |
| 6 | + |
| 7 | +## 13.3.0.0 |
| 8 | +* Support for Conway (see schema docs) |
| 9 | +* Fixed epoch_param missing for the first Shelley era [#1715] |
| 10 | +* Moved command line options that filter data to the config file |
| 11 | +* Added epoch_state table |
| 12 | +* Added an optional feature to store CBOR serialized transactions in `tx_cbor` table [#1723] |
| 13 | +* Added an optional feature to store pool stats per epoch transactions in `pool_stat` table |
| 14 | +* EnableFutureGenesis is now true by default |
| 15 | + |
| 16 | +## 13.2.0.2 |
| 17 | +* Support node 8.9.x |
| 18 | +* Add a new db-sync config field `EnableFutureGenesis`. When false or missing, the conway genesis file is ignored |
| 19 | + |
| 20 | +## 13.2.0.1 |
| 21 | +* Added a new table `epoch_stake_progress` which indicates when `epoch_stake` is completed |
| 22 | +* Uses the cache for the computation of `epoch` table when following |
| 23 | +* `epoch_stake` is now computed earlier, before the epoch is reached |
| 24 | +* Exception handling and concurrency improved. |
| 25 | +* When `--disable-ledger` is used, db-sync won't populate the `tx.deposit` field as it's too expensive |
| 26 | +* Support for Conway (see schema docs) |
| 27 | +* Added a `--bootstrap-tx-out` flag. Read more at `doc/configuration.md`. |
| 28 | +* When `--consumed-tx-out` is enabled, db-sync won't populate the `tx_in` table |
| 29 | +* Added flags `--force-tx-in` which bypasses the default behaviour mentioned above |
| 30 | +* Migrations from consume to prune are now much faster |
| 31 | +* References to `offline` for pool metadata are replaced by `offchain` |
| 32 | +* Added a new table `extra_migrations` |
| 33 | +* DBSync no longer does any query to the `tx_out` table during syncing |
| 34 | +* Added flags `--disable-in-out`, `--disable-shelley`, `--disable-gov`, `--only-gov`, `--keep-tx-metadata` |
| 35 | +* Move MIR from reward to instant_reward. Done with a migration. |
| 36 | +* Remove redundant field `address_raw` of `tx_out` and `collateral_tx_out` |
| 37 | +* Partial Conway integration. You can read more in `doc/schema.md` (tagged as Conway). Also in files |
| 38 | +`schema/cardano-chain-gen/schema/migration-2-0032-20230815.sql` and `schema/cardano-chain-gen/schema/migration-2-0032-20230815.sql` |
| 39 | +for the raw sql migrations. |
| 40 | +* Removed `reward.id` field. `instant_reward` table also doesn't have an id field. |
| 41 | + |
| 42 | +## 13.1.1.3 |
| 43 | +* Adds compatibility with node-8.0.0 [#1403] and node-8.1.1 [#1455] |
| 44 | +* Adds compatibility with the new format of the CostModel in Alonzo genesis file [#1403] |
| 45 | +* Adds a procedure which fixes scripts with wrong cbor [Issue #1348] |
| 46 | +* Fixes an issue where the `ada_pots` didn't match exactly the epoch boundary [Issue #1258] |
| 47 | +* Adds Developmental ghc-9.2 compatibility [#1404] |
| 48 | +* Provided experimental options which turn off parts of the schema [#1379] |
| 49 | +* Fixed an issue where `epoch` table didn't rollback [#1370] |
| 50 | +* Fixed an issue with smash returning `InvalidUrlException` [#1353] |
| 51 | +* Takes less snapshots, since big rollbacks are now faster |
| 52 | +* When `--disable-ledger` is enabled a `--state-dir` is no longer required |
| 53 | +* Added experimental extra migrations, controlled by `consumed-tx-out` and `prune-tx-out` |
| 54 | + |
| 55 | +## 13.1.0.2 |
| 56 | +* Upgrade dependencies and integrates a fix in ledger internal data structures. |
| 57 | +* Integrates Cardano Haskell Packages (CHaP) |
| 58 | + |
| 59 | +## 13.1.0.0 |
| 60 | +* Avoids rollbacks on restarts, making them way faster [#1190] |
| 61 | +* Syncing speed is increased |
| 62 | +* Allows to migrate from previous 13.x releases without resync [#1172] |
| 63 | +* Creates a procedure that fixes old values related to plutus data [#1214] as the first step of migration [#1278] |
| 64 | +* Removes many unique keys that were never used [#1087] |
| 65 | +* Delays the creation of most indexes while syncing. They are created when syncing is almost complete [#1293] |
| 66 | +* Removed all foreign keys [#1082] |
| 67 | +* Reworked the way that rollback works, using reverse indexes. |
| 68 | +* Aded a new `reverse_index` table to speed up rollbacks |
| 69 | +* Added experimental flags `skip-plutus-data-fix`, `only-plutus-data-fix`, `force-indexes` to `cardano-db-sync` |
| 70 | +* Added experimental flags `force-indexes`, `mock-fix` for `cardano-db-tool run-migrations` command |
| 71 | +* Fixed Stake Pool metadata fetch error exceeded 512 bytes [#1270] |
| 72 | +* Snapshot creation no longer rollbacks to the ledger snapshot file, so it's faster |
| 73 | +* Columns `stake_address.tx_id`, `cost_model.block_id` are removed |
| 74 | +* Bump iohk-nix to fetch the correct config for preview and preprod respin |
| 75 | +* Added new flag `POSTGRES_ARGS` (wih reccomended default values) to `docker-compose.yml` for customization of database settings |
| 76 | + |
| 77 | +## 13.0.5 |
| 78 | +* Fixed an issue where `StakeAdress` cache was not cleaned up properly and could cause crashes [#1222] |
| 79 | +* Fixed an issue where fees for txs with phase 2 failure which din't include the total_collateral fields appeared to be 0 [#1242] |
| 80 | +* Fixed an issue where `Datum` were reserialised and could be inserted in a different CBOR format [#1214] |
| 81 | +* Improved docker documentation |
| 82 | +* Made disable options like `disable-ledger` easily available through docker |
| 83 | +* Supported new networks, preview, preprod |
| 84 | + |
| 85 | +## 13.0.4 |
| 86 | +* Bump to the latest node release. |
| 87 | + |
| 88 | +## 13.0.3 |
| 89 | +* Integrated the fix for the missused minfee function in ledger (https://github.com/IntersectMBO/cardano-ledger/pull/2938) |
| 90 | + |
| 91 | +## 13.0.2 |
| 92 | +* Integrated the fix of the obsolete check in the new 'Praos' protocol (https://github.com/IntersectMBO/ouroboros-network/pull/3891) |
| 93 | + |
| 94 | +## 13.0.1 |
| 95 | +* 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) |
| 96 | + |
| 97 | +## 13.0.0 |
| 98 | +* Added `--disable-ledger` flag, which significantly reduces memory usage. Read more at `doc/configuration.md`. |
| 99 | +* Reduction in memory usage. |
| 100 | +* Reduction in sync-time. |
| 101 | +* Added `--disable-cache` flag, which slightly reduces memory usage. Read more at `doc/configuration.md`. |
| 102 | +* Renamed `--no-epoch-table` flag to `disable-epoch`. Read more at `doc/configuration.md`. |
| 103 | +* Handle `PlutusV1` and `PlutusV2` scripts as seperate script types, removing old `Plutus` type |
| 104 | +* Store CBOR serialized `Datum` and `Redeemer` via `bytes` field |
| 105 | +* HF integration. Schema changes for new Babbage fields. (#1081). |
| 106 | +* Improved logging. It includes some performance statistics. |
| 107 | +* Used pulsing rewards coming from new ledger events. Also incremental stake slices. |
| 108 | +* Extended the caches. |
| 109 | +* `BulkOperations` which affected memory usage and rollbacks are removed. |
| 110 | +* Removed "no-store" from metadata caching for smash (#1075) |
| 111 | +* Added connection pools for smash, instead of opening a connection for each request. Configurable with `--pool` for admins. |
| 112 | +* Reduced the blocks it takes for prometheus block height to be updated. |
| 113 | +* Add docker healthchecks for postgres and cardano-node. |
| 114 | +* Fix unique keys of `reserves`, `treasury`, `pool_update`, `pool_retire`, `stake_registration`, `stake_deregistration`, `delegation` (#1051). |
| 115 | +* Allow to add additional migrations (indexes and views) (#1044). |
| 116 | +* Fix smash server error "Pool is retired" for pools that don't exist. (#997) |
| 117 | +* Fix duplicate instant rewards (#981). |
| 118 | +* Add multiple unit tests. |
| 119 | +* `pool_owner` now references `pool_update` instead of `pool_hash` and `tx` (#986). |
| 120 | +* Fix handling of StakeRefPtr (#1024). |
| 121 | +* Store `requiredSigners` (transaction extra key witnesses). |
| 122 | +* outputs, inputs and multi asset outputs are stored in batched grouped by blocks, instead of one by one. |
| 123 | +* Fix parameter_proposal.max_block_size (#965). |
| 124 | +* Remove plugin System, merges 3 packages `cardano-db-sync-extended`, `cardano-sync` and `cardano-db-sync` into the last. |
| 125 | +* Fixes on testnets that fork directly to Shelley (#953). |
| 126 | +* Log cabal version, git hash and command line options on startuo (#1166). |
| 127 | + |
| 128 | +## 12.0.2 |
| 129 | +* Fix PoolOfflineFetchError URL entry (#697). |
| 130 | + |
| 131 | +## 12.0.1 |
| 132 | +* No changes. |
| 133 | + |
| 134 | +## 12.0.0 |
| 135 | +* Note that this release requires the database to be dropped and recreated. |
| 136 | +* Update `rewardtype` enum (used in `reward` table) to include a pool deposit refund type. |
| 137 | +* Include `json` and (raw) `bytes` fields to `script` table. |
| 138 | +* Add `cost_model`, `datum` and `redeemer` tables. |
| 139 | +* Update `cost_model*` fields of `param_proposal` and `epoch_param` tables to reference `cost_model` |
| 140 | + table. |
| 141 | +* Unify SQL types of epoch_stake.epoch_no and epoch.no (#811). |
| 142 | +* Fix missing and inconsistent rewards issues (#791, #796, #805. #882, #826, #918, #921, #923, #939, |
| 143 | + #947). |
| 144 | +* Handle the empty list case in insertManyUncheckedUnique (#869). |
| 145 | +* Add a `multi_asset` table with `policy`, `name` and asset `fingerprint` columns (#868). |
| 146 | +* Drop the `policy` and `name` columns of `ma_tx_mint` and `ma_tx_out` tables, replacing those |
| 147 | + columns with a reference to the `multi_asset` table. |
| 148 | +* Stop supporting test configs which don't initiate Shelley properly. |
| 149 | +* Fix handling of transactions which have contracts which fail second stage validation (#883). |
| 150 | +* Update system requirements (#951). |
| 151 | + |
| 152 | +## 11.0.4 |
| 153 | +* Fix race condition on insertion of pool offline data or error response (#806, #823, #858). |
| 154 | + |
| 155 | +## 11.0.3 |
| 156 | +* Use same dependencies as 1.30.1 of `cardano-node`. |
| 157 | +* Fix race condition on insertion of pool offline data or error response (#806, #823, #831). |
| 158 | + |
| 159 | +## 11.0.2 |
| 160 | +* Fix schema documentation typo (#799). |
| 161 | +* Fix race condition on insertion of pool offline data or error response (#806, #823). |
| 162 | +* Fix docker issue (#810). |
| 163 | + |
| 164 | +## 11.0.0 |
| 165 | +* Note that this release requires the database to be dropped and recreated. |
| 166 | +* Alonzo support. |
| 167 | +* Database changes as per cardano-db changelog. |
| 168 | +* Add run time validation that the on-disk schema matches what the app expects (#472). |
| 169 | +* Add partial validation of `Reward` table. |
| 170 | + |
| 171 | +## 10.0.1 |
| 172 | +* Fix docker issue (#686). |
| 173 | + |
| 174 | +## 10.0.0 |
| 175 | +* Note that this release requires the database to be dropped and recreated. Restoring the `db-sync` |
| 176 | + state can take a long time so it is possible to restore it from a snapsot file. |
| 177 | + See `doc/state-snapshot.md`. |
| 178 | +* Ability to create and restore state snapshots (#613). |
| 179 | +* Documentation updates. |
| 180 | +* Fix network id for reward_addr in pool_update table (#546). |
| 181 | +* Update utxo_view query (#543). |
| 182 | +* Minor update of database schema. |
| 183 | +* Remove `merkle_root` field from `block` table. |
| 184 | +* Refactor/improve rollbacks (#570). |
| 185 | +* Interleave bulk insertion (`epoch_stake`, `reward` and `orphaned_reward`) with regular insertions. |
| 186 | +* Fetch and insert pool offline metadata. |
| 187 | +* Update a couple of uniqueness constraints. |
| 188 | +* Fix PoolUpdate activeEpochNo field (#610) |
| 189 | +* Add EpochSyncTime table (#621). |
| 190 | +* Update system requirements in Readme.hd. |
| 191 | + |
| 192 | +## 9.0.0 |
| 193 | +* Note that this release requires the database to be dropped and recreated. |
| 194 | +* Requires ghc-8.10.x tp build. |
| 195 | +* Documentation updates. |
| 196 | +* Improve DbSync API. |
| 197 | +* Add `delegation_slot_no` column to `delegation` table to simplify a query used when populating the |
| 198 | + database. |
| 199 | +* Improve the way database inserts are done. |
| 200 | +* Fix `blk_count` column in `epoch` table for epochs without transactions (#296). |
| 201 | +* Extract new package `cardano-sync` (which contains only the functionality require to sync the |
| 202 | + chain, and avoids all PostgreSQL dependencies) from `cardano-db-sync`. |
| 203 | +* Add static (musl64) linux builds. |
| 204 | +* Add and populate `ada_pots` table. |
| 205 | +* Fix network id for `reward_addr` in `pool_update` table (#546). |
| 206 | + |
| 207 | +## 8.0.0 |
| 208 | +* Note that this release requires the database to be dropped and recreated. |
| 209 | +* Requires version 1.25.0 or later of the node. |
| 210 | +* Documentation updates. |
| 211 | +* Update dependencies. |
| 212 | +* Vastly improve database rollback performance (#256, #397). |
| 213 | +* Split the ledger state rewards into valid and invalid sets (#415, #467). |
| 214 | +* Fix tx_count for genesis blocks (#471). |
| 215 | +* Fix typo in database column name (Merkel -> Merkle) (#446). |
| 216 | +* Improve logging. |
| 217 | +* Handle case where latest ledger state file cannot be parsed (#483). |
| 218 | +* Improve handling/naming of ledger state files. |
| 219 | +* Fix Prometheus metrics server (#154). |
| 220 | +* Make the port that the Prometheus metrics server listens on configurable (#488). |
| 221 | + |
| 222 | +## 7.1.0 |
| 223 | +* Upgrading from 7.0.x will not require the database to be dropped and recreated but upgrading from |
| 224 | + 6.0.x and earlier will require it. |
| 225 | +* Update dependencies. |
| 226 | +* Support for the Mary era (ie multi-asset support). |
| 227 | +* Fix issues with transactions invalidBefore/invalidHereafter fields. |
| 228 | + |
| 229 | +## 7.0.0 |
| 230 | +* Note that this release requires the database to be dropped and recreated. |
| 231 | +* Update dependencies. |
| 232 | +* Support for the Allegra era (ie support for time locking of transactions). |
| 233 | +* Log an error if excessive rollback is required on startup. It is up to the operator to drop the |
| 234 | + database and restart. |
| 235 | +* Add hash checking when maintaining ledger state and fix race condition (#398). |
| 236 | + |
| 237 | +## 6.0.0 |
| 238 | + |
| 239 | +* Note that this release requires the database to be dropped and recreated. |
| 240 | +* Update dependencies. |
| 241 | +* Maintain a copy of the ledger state which contains data that is not on chain. |
| 242 | +* Add Reward table (populated from ledger state). |
| 243 | +* Rejig how configuration is handled (it now reads the node's config file). |
| 244 | +* Read node config from a path relative to db-sync config (#321). |
| 245 | +* Rename ParamUpdate table to ParamProposal. |
| 246 | +* Fix uniqueness constraint for PoolRetire table (#306). |
| 247 | +* Add and populate EpochParam table (for Shelley not Byron). |
| 248 | +* Add and populate EpochStake table (#319). |
| 249 | +* Fix handling of PersistRational DbWord64 values (#334). |
| 250 | +* Store Bech32 encodings of two more fields (#295). |
| 251 | +* Fix bad registeredTxId uniqueness constraint on StakeAddress (#326, #327) (this was never |
| 252 | + included in a release). |
| 253 | +* Robustify handling of the Word64 types in database (#334, #351). |
| 254 | +* Add version number CLI commands for standard and extended db-sync |
| 255 | +* Fix incorrect hash for SlotLeader (#349). |
| 256 | +* Fix pool_id column in reward table (#361). |
| 257 | +* Add a stake_address_id column to the tx_out table |
| 258 | +* Documentation updates. |
| 259 | +* Improve the way ProtVer is stored in the database (#368). |
| 260 | +* Fix EpochNo column of EpochStake table (#379). |
| 261 | +* Add the epoch nonce field to the EpochParam table (#332). |
| 262 | + |
| 263 | +## 5.0.2 |
| 264 | + |
| 265 | +* Fix handling of unsigned 64bit integer fields (#334, #335). |
| 266 | + |
| 267 | +## 5.0.1 |
| 268 | + |
| 269 | +* Update dependencies. |
| 270 | +* Temporary workaround for Unicode NUL character issue (#297). |
| 271 | + |
| 272 | +## 5.0.0 |
| 273 | + |
| 274 | +* Note that this release requires the database to be dropped and recreated. |
| 275 | +* Correct uniqueness constraint on PoolOwner (#251). |
| 276 | +* Resurrect the 'cardano-db-tool validate' functionality. |
| 277 | +* Rename (correct and clarify) column names in ParamUpdate table. |
| 278 | +* Fix calculation of 'deposit' field of Tx table (#249). |
| 279 | +* Add a 'registeredTxId' column to PoolOwner table (#281) |
| 280 | + |
| 281 | +## 4.0.0 |
| 282 | + |
| 283 | +* Note that this release requires the database to be dropped and recreated. |
| 284 | +* Add and populate 'tx_metadata' table. |
| 285 | +* Insert stake deregistrations into correct table. Previously deregistrations were |
| 286 | + inserted into the registration table. |
| 287 | +* For all transaction certificates, add index within the transaction (#230). |
| 288 | +* Fix certificate ordering issues that resulted in an abort if a MIR certificate was |
| 289 | + found whose output was a stake address that was inserted later in the same tx (#237). |
| 290 | +* Make sure stake_address registrations are correctly handled on rollbacks (#238). |
| 291 | +* In 'tx_out' table, store the raw as well as rendered version of 'address' (#223). |
| 292 | +* In 'stake_address' table, store the raw as well as rendered version (#224). |
| 293 | +* Fix epoch start and end times in epoch table (#242). |
| 294 | +* Make 'delegation' and 'pool_retire' tables reference 'pool_hash' table instead of 'pool_update. |
| 295 | + |
| 296 | +## 3.1.0 -- July 2020 |
| 297 | + |
| 298 | +* * Updates to support the schema additions, see cardano-db 2.0.0 CHANGELOG.md |
| 299 | + |
| 300 | +## 3.0.0 -- July 2020 |
| 301 | + |
| 302 | +* Note that this release requires the database to be dropped and recreated. |
| 303 | + It requires cardano-node 1.16 or later. |
| 304 | +* Add support for the cardano-node in Cardano mode (#186, #188, #196) |
| 305 | + |
| 306 | +## 2.1.0 -- July 2020 |
| 307 | + |
| 308 | +* Note that this release requires the database to be dropped and recreated |
| 309 | +* Schema changes, see cardano-db 2.1.0 CHANGELOG.md |
| 310 | +* Add handling of Shelley era blocks to the existing handling of Byron era blocks |
| 311 | +* Shelley is still not fully supported |
| 312 | +* Fix/improve the rollback handling logic |
| 313 | + |
| 314 | +## 2.0.0 -- May 2020 |
| 315 | + |
| 316 | +* Note that this release requires the database to be dropped and recreated |
| 317 | +* Schema changes, see cardano-db 2.0.0 CHANGELOG.md |
| 318 | + |
| 319 | +## 1.5.0 -- April 2020 |
| 320 | + |
| 321 | +* Fix a bug related to block rollback (#61) |
| 322 | +* Fix handling of OBFT epochs without transactions (#40) |
| 323 | +* Add a block count column to the "epoch" cache table (#42, #46, #51) |
| 324 | +* Add validation test for the epoch cache table (#42, #46, #51) |
| 325 | +* Add an "Epoch" convenience VIEW to the DB schema (#31) |
| 326 | +* Add index to the TransactionInput view (#67) |
| 327 | +* Add support for multiple chains in a single database (#76, #77) |
| 328 | +* Update dependencies to latest versions (#39, #55, #78) |
| 329 | +* Improve README (#32, #38, #57, #58) |
| 330 | +* Improve example docker config (#59) |
| 331 | + |
| 332 | +## 1.4.0 -- March 2020 |
| 333 | + |
| 334 | +* Renamed from cardano-explorer-node to cardano-db-sync. |
| 335 | +* Source repository renamed to cardano-db-sync. |
| 336 | +* Improve chain sync behavior when database chain is ahead of node. |
| 337 | +* New plugin system to allow application-specific variations (e.g. caching) |
| 338 | +* Improve exception handling and reporting. |
| 339 | +* Improved documentation. |
| 340 | +* Update dependencies to latest versions. |
| 341 | +* Use threaded RTS to avoid potential IPC problems on OSX. |
| 342 | +* Better default logging verbosity configuration. |
| 343 | + |
| 344 | +## 1.3.0 -- January 2020 |
| 345 | + |
| 346 | +* Update dependencies to latest versions. |
| 347 | +* Docker image: log all runit services to stdout |
| 348 | +* Initial documentation on how to use build and run the components in docker |
| 349 | + |
| 350 | +## 1.2.2 -- January 2020 |
| 351 | + |
| 352 | +* Update dependencies to latest versions. |
| 353 | + |
| 354 | +## 1.2.1 -- January 2020 |
| 355 | + |
| 356 | +* Update dependencies to latest versions. |
| 357 | + |
| 358 | +## 1.2.0 -- December 2019 |
| 359 | + |
| 360 | +* Update to latest version of cardano-ledger, ouroboros-network, |
| 361 | + ouroboros-consensus, iohk-monitoring-framework, and cardano-shell libs. |
| 362 | + |
| 363 | +## 1.1.0 -- December 2019 |
| 364 | + |
| 365 | +* Updated to latest network library version and simpler API |
| 366 | + |
| 367 | +## 1.0.0 -- November 2019 |
| 368 | + |
| 369 | +* First release of new explorer based on new Cardano node. |
| 370 | +* Syncs chain data from a local node into a PostgreSQL DB. |
| 371 | +* Compatible with new Cardano node for Byron era. |
0 commit comments