Releases: CardanoSolutions/ogmios
Releases · CardanoSolutions/ogmios
v3.2.0
Added
- New TypeScript client! The client comes in three packages:
- An interactive REPL to play with Ogmios using the command-line.
- A generator to derive TypeScript type definitions from the JSON schema.
- The actual client library providing nice wrapper around the various protocol, in a typed way.
The TypeScript client also includes a new battery of automated integration tests against the testnet.
- Support for WebSocket sub-protocols, with currently one support sub-protocol:
ogmios.compact.v1
. When enabled,
Ogmios will omit fields such as witnesses, proofs and signatures from responses to make responses smaller. - Provide missing documentation / JSON-schema for:
- JSON-WSP faults
- Allegra & Mary
SubmitTx
failures:-
Allegra:
expiredUtxo
is replaced byoutsideOfValidityInterval
- new error
triesToForgeAda
Mary:
valueNotConserved.consumed
is now aValue
(instead of aDeltaCoin
)valueNotConserved.produced
is now aValue
(instead of aDeltaCoin
)outputTooSmall
items are now of typeTxOut[Mary]
- new error
tooManyAssetsInOutput
-
- Continuous integration job checking for code style and lint on the server source code.
- The
/health
endpoint now returns two additional pieces of information:- A
networkSynchronization
percentage to indicate how far Ogmios / the node is from the network. - A
currentEra
value to indicate the corresponding Cardano era Ogmios / the node is currently running in.
- A
- Nix support for building Ogmios (this also include a
cabal.project
to enable cabal support as well).
Changed
- Rework Docker setup to not require an external snapshot image. Everything is now built in a single
Dockerfile
, but cache from DockerHub can be leveraged to reduce overall build time when building
from scratch. - Fixed typo in the JSON-schema w.r.t to the 'Acquire' request (
points
→point
), and introduce more automated test
to catch this kind of errors more easily.
Removed
ø
v3.1.0
Added
- Extend the local-state query protocol with support for 'GetCompactGenesis'.
- Extend the local-state query protocol with support for 'GetFilteredDelegationsAndRewards'.
- Add missing
mint
field to transaction's body (added since mary). - The documentation is now hosted on https://ogmios.dev.
Changed
- Use 'contentEncoding' over 'format' in appropriate part of the JSON schema.
- Fix various errors in the JSON-schema definition & extend test suite coverage in consequence.
- Implement a 'fast-bech32' encoding library, to speed-up Ogmios serialization of blocks beyond the Shelley era.
- Use faster (and recommended) JSON encoding techniques to speed up overall JSON serialization.
- Improve generated documentation from JSON schema by:
- Providing titles to 'oneOf' items
- Adding descriptions to top-level definitions
- Adding examples to top-level definitions
- Customized API reference's stylesheet to enhance readability.
- Upgrade dependency and code to work with GHC-8.10.4 (from GHC 8.6.5)
- Handle more gracefully unknown exceptions (avoid infinite fast loop of retries on errors).
- Handle more gracefully network mismatches (e.g. connecting Ogmios in testnet mode to a mainnet network)
- Repository reorganization:
- 'ogmios-server' renamed into 'server'
- move Haskell-specific dotfiles and configuration files under 'server'
- move 'modules' under 'server'
- move 'Dockerfile' and 'snapshot.Dockerfile' under 'server'
Removed
- Support for GHC-8.6.5
- The docker image no longer shows git revision / version on '--version'
v3.0.0
Added
- Support for the Allegra era on the chain-sync, tx submission and state query protocols.
- Support for the Mary era on the chain-sync, tx submission and state query protocols.
- Support for multi-era state queries, or said differently, Ogmios can survive a hard-fork without being restarted or re-compiled.
- Allow clients to also make state queries based on the node's tip (instead of passing an explicit point to acquire).
- Interactive dashboard leveraging Ogmios health's endpoint and local state query protocol to show metrics in real-time.
- Automated smoke sanity tests executed on a running instance, running queries and chain-syncs across all eras.
- Various internal optimization, in particular with rewards to the chain-sync protocol (~14.000 blocks/s in Byron, ~2500 block/s in Shelley and beyond).
- Additional metrics for monitoring: current heap size, total messages, total unrouted messages and start time.
- Configurable HTTP server timeout from the command-line, with sensible defaults.
Changed
- Improve error responses to invalid clients' requests (instead of generic error messages).
- Fixed various typos and clumsy wording in the user manual.
- Reworked internal architecture as a Three-Layer Haskell Cake.
- Changed internal dependencies for base16 and base64 encoding for better performances.
- Upgraded internal dependencies to the Cardano eco-system working with [email protected]
- Improved error handling of the Ogmios server, in particular in case of connections lost with the underlying node.
- The server now returns an explicit client error when interleaving 'FindIntersect' messages in-between pipelined 'RequestNext'.
- Revised default compilation flags .
v2.0.0-beta
Added
- Support for the Shelley chain in the local-chain-sync protocol.
- Support for the local-state-query protocol.
- Health / Heartbeat endpoint for monitoring.
- Runtime and application metrics measured and served on endpoint (
/health
). - Ogmios now includes an HTTP static server hosting both the WSP definition and, a
/benchmark.html
to run some quick benchmark / smoke test. - Added additional configuration options via command-line or environment.
- Revised user manual with detailed step-by-step examples.
Changed
- Several JSON fields renamed to increase consistency between Shelley and Byron.
- Improved logging, more messages and with more context.
- Improved error handling with regards to connection of websocket clients.
v1.0.0-beta
Added
-
Initial release and support for:
- Chain Synchronization (no pipelining between cardano-node & ogmios)
- Local Transaction Submission
-
JSON-WSP version 1.0, full support with reflection.
-
Full docker stack via docker-compose.
-
Basic command-line and logging.