Releases: CardanoSolutions/kupo
v1.0.1
Added
- N/A
Changed
-
📌 #17 (:speech_balloon: @bakon11) - The internal reconnection logic and chain provider error handling has been reworked to be more resilient. In particular, before this patch, Kupo would re-synchronize the index from the provided configuration point in case of a connection lost and recovered with the chain provider. Now, it restarts where it was
before the connection was lost. Also, for Ogmios, few exceptions weren't properly caught and would simply cause the server to crash when loosing connection. -
Fixed a log message informing about ongoing migration, communicating a wrong target version being migrated to (despite doing migration correctly).
Removed
- The server will no longer match on failed Alonzo transactions. That is, the index is only constructed out of successful and valid transactions. On Mainnet, this only concerns one transaction, but this could lead to quite surprising behavior should an application be watching the chain via Kupo as an index. Consequently,
1.0.1
includes an automatic database migration which will prune any concerned output reference from the database for both mainnet and testnet.
Dependencies
Dependency | Tested With |
---|---|
cardano-node | 1.33.0 |
ogmios | v5.1.0 |
Details
v1.0.0
Added
-
📌 #1 (:bulb: @longngn) - New API endpoint to get application's health,
GET v1/health
→ 📖 API Reference
-
📌 #1 (:bulb: @longngn) - New command
healthcheck
to perform a health check against a running server. Handy when combined with Docker's HEALTHCHECK feature. -
📌 #9 (:bulb: @cffls) - Add
header_hash
to each match, so that data can easily be queried from Ogmios using the chain-sync protocol (which requires points defined as both slot number and header hashes!). -
📌 #11 (:bulb: @Quantumplation) - Support for Ogmios as an alternative chain-sync provider. This is particularly interesting when used with remote instances. This is activated by providing the relevant command-line options instead of
--node-socket
and--node-config
:--ogmios-host
--ogmios-port
-
📌 #3 (:bulb: @Mercurial) - Support for dynamic management (via HTTP API) of patterns. It is now possible to add, remove and list existing patterns via the HTTP API:
GET v1/patterns
→ 📖 API ReferenceDELETE v1/patterns/{pattern-fragment}
→ 📖 API ReferenceDELETE v1/patterns/{pattern-fragment}/{pattern-fragment}
→ 📖 API ReferencePUT v1/patterns/{pattern-fragment}
→ 📖 API ReferencePUT v1/patterns/{pattern-fragment}/{pattern-fragment}
→ 📖 API Reference
-
📌 #10 - Allow purging old matches (via HTTP API). This is however only allowed if the provided pattern is strictly non overlapping with an existing (active) pattern.
DELETE v1/matches/{pattern-fragment}
→ 📖 API ReferenceDELETE v1/matches/{pattern-fragment}/{pattern-fragment}
→ 📖 API Reference
Changed
-
📌 #2 (:bug: @longngn) - The command-line is now more idempotent, restarting the server with the same options will no longer fail and simply resume syncing.
-
📌 #13 - Kupo no longer ignores Byron blocks internally and will now also synchronizes data from them.
-
📌 #8 (:bug: @james-iohk) - Protects against restarting with different, non-compatible patterns. In case one restart the server with different patterns that those previously provided, it'll abort and crash. Note however that it's possible to restart the server with an empty patterns set, in which case it uses the previously known ones.
Removed
N/A
Details
v1.0.0-beta
Added
-
Initial (beta) release:
-
Synchronization from chosen point (
--since POINT
) -
Storage in-memory or on-disk (
--workdir DIR | --in-memory
) -
Multiple patterns via the command-line (
--match
) -
Basic API access:
GET v1/matches
GET v1/matches/{pattern-fragment}
GET v1/matches/{pattern-fragment}/{pattern-fragment}
GET v1/checkoints
-
Multi-level (basic) structured component logging (
--log-level
,log-level-{component}
)
-
-
Current limitations:
- Byron blocks are ignored;
- The HTTP server does not support
OPTION
andHEAD
requests; - Lack of proper integration testing;
Changed
N/A
Removed
N/A