- Make
cardano-api:internal
component public (feature; compatible) PR 26
-
Expose
toAlonzoCostModels
function fromCardano.Api
(feature; compatible) PR 17 -
Add
Eq
andData
instances to various error types (feature; compatible) PR 9 -
Remove support for reading
ApplicationName
andApplicationVersion
from node configuration and replace with hardcoded values. (feature; breaking) PR 8 -
Add new
checkVrfFilePermissions
function (feature; compatible) PR 11 -
Added
genValidProtocolParameters
generator producingProtocolParameters
which do pass validations inCardano.Api.ProtocolParameters
module. RemoveCardano.Api.Orphans
from public API. (feature, test; breaking) PR 1
-
Addition of
QueryStakeDelegDeposits
ledger state query. -
Breaking change -
evaluateTransactionBalance
,makeTransactionBodyAutoBalance
andconstructBalancedTx
requires a mapping fromStakeCredential
to a deposit for every unregistration certificate present in the transaction -
Breaking change -
queryStateForBalancedTx
now requires a list of certificates and produces a Map withStakeCredential
to a deposit for every deregistration certificate in the supplied list
-
New functions:
intoFile
,readByteStringFile
,readLazyByteStringFile
,readTextFile
. Modify functions inCardano.Api.IO
to use unspecified content type rather than()
. (PR 5194) -
Breaking change
-
Delete
Cardano.Api.Environment
module. Merge twoSocketPath
type definitions to the one defined inCardano.Api.IO
DeleteEnvSocketError
and associated functions and types. (PR 5215) -
NodeConfigFile
newtype replaced withNodeConfigFile
type alias.GenesisConfigFile
newtype replaced withByronGenesisFile
,ShelleyGenesisFile
,AlonzoGenesisFile
,ConwayGenesisFile
type aliases. NewByronGenesisConfig
,ShelleyGenesisConfig
,AlonzoGenesisConfig
,ConwayGenesisConfig
type aliases. (PR 5217)
- Fix
toEraInMode
for Conway (PR 5175)
-
Add
getSlotForRelativeTime
function (PR 5130) -
New
ToJSON ScriptWitnessIndex
instance that produces machine readable output. AnyJSON
output uses this instance. PR 5168
-
Delete
readEnvSocketPath
function. (PR 5207) -
Expose node config reading functionality:
NodeConfig
,NodeConfigFile
andreadNodeConfig
-
Expose genesis file reading functionality:
- All eras:
GenesisConfig
andreadCardanoGenesisConfig
- Byron:
readByronGenesisConfig
- Shelley:
ShelleyConfig
,GenesisHashShelley
,readShelleyGenesisConfig
andshelleyPraosNonce
- Alonzo:
GenesisHashAlonzo
andreadAlonzoGenesisConfig
- Conway:
GenesisHashConway
andreadConwayGenesisConfig
- All eras:
-
Expose envirnment construction functionality:
mkProtocolInfoCardano
andgenesisConfigToEnv
-
New error exports:
TxOutInAnyEra(..)
txOutInAnyEra
StakePoolMetadataValidationError(..)
ScriptHash(..)
(PR 5188)
-
Rename
TestEnableDevelopmentHardForkEras
toExperimentalHardForksEnabled
andTestEnableDevelopmentNetworkProtocols
toExperimentalProtocolsEnabled
(PR 4341) -
Changed type of
protocolParamTxFeeFixed
,protocolParamTxFeePerByte
fromNatural
toLovelace
andprotocolUpdateTxFeeFixed
andprotocolUpdateTxFeePerByte
fromMaybe Natural
toMaybe Lovelace
(PR 5013) -
Append, not prepend change output when balancing a transaction (PR 4343)
-
Expose convenience functions
executeQueryCardanoMode
,determineEra
,constructBalancedTx
andqueryStateForBalancedTx
(PR 4446) -
Expand
BalancedTxBody
to includeTxBodyContent
(PR 4491) -
Change
calculateMinimumUTxO
to returnLovelace
instead of aValue
(PR 4482) -
Breaking change - Reduce exposed modules in cardano-api (PR4546)
-
Breaking change -
deserialiseFromRawBytes
method of theSerialiseAsRawBytes
type class to returnEither
instead ofMaybe
. DeprecateeitherDeserialiseFromRawBytes
. UsedeserialiseFromRawBytes
instead. (PR 4876) -
Breaking change - Preserve ScriptData bytes with HashableScriptData (PR4886)
-
Breaking change -
determineEraExpr
to returnIO (Either UnsupportedNtcVersionError AnyCardanoEra)
instead ofIO AnyCardanoEra
. (PR4788) -
Breaking change -
queryExpr
to returnIO (Either UnsupportedNtcVersionError a)
instead ofIO a
. (PR4788) -
Breaking change - Remove distinction between multisig and timelock scripts(PR4763)
-
Breaking change Change return type of
queryNodeLocalState
to newAcquiringFailure
type. -
Breaking change - For performance reasons,
evaluateTransactionFee
to take aLedger.PParams (ShelleyLedgerEra era)
argument instead ofProtocolParameters
New typeBundledProtocolParameters
and new functionsbundleProtocolParams
andunbundleProtocolParams
. (PR4903) -
Auto-balance multi asset transactions (PR 4450)
-
Breaking change - Removed
fromShelleyPParams
in favor offromLedgerPParams ShelleyBasedEraShelley
(PR 5013) -
Breaking change - JSON fields have been changed: (PR 5013)
- For
PState
:- Renamed
"pParams pState"
->"pParams"
- Renamed
"fPParams pState"
->"fPParams"
- Renamed
"retiring pState"
->"retiring"
- Added
"deposits"
- Renamed
- For
DState
:- Removed
"unifiedRewards"
- Added
"unified"
, which contains an object with both rewards and deposits.
- Removed
- For
InstantaneousRewards
:- Addition of
"deltaReserves"
and"deltaTreasury"
fields
- Addition of
CostModel
inAlonzoGenesis
andPParams
is formatted with a list of values to promote forward compatibility
- For
-
Fix a bug where only metadata from TxAuxData was hashed upon transaction body creation with
createTransactionBody
(PR 5013) -
Breaking change - Change representation of
CostModel
. It is no longer a mapping from param name to values, but instead a list with values, where order of value dictates the mapping to param names of a plutus cost model for a particular plutus version (PR 5013) -
Breaking change - ToJSON instance for CostModel and consequently for ProtocolParameters will now produce a list of values instead of a key value mapping. (PR 5013)
-
Breaking change -
calculateMinimumUTxO
no longer fails, it is a total computation. (PR 5013) -
New generators in
gen
sublibrary:genPositiveLovelace
,genPositiveQuantity
andgenSignedNonZeroQuantity
. (PR 5013) -
Split serialisation from IO (PR 5049)
-
Move parsers to reusable location (PR 5046)
-
Remove unused error constructors (PR 5041)
-
New
bounded
function (PR 4919) -
Modify
constructBalancedTx
to takeLedgerEpochInfo
(PR 4858) -
Add
ReaderT
ofNodeToClientVersion
toLocalStateQueryExpr
(PR 4809) -
Move signing key reading to cardano-api (PR 4698)
-
Replace
Data.Map
withData.Map.Strict
(PR 4675) -
New
Cardano.Api.DeserialiseAnyOf
module (PR 4639) -
Replace
deserialiseFromRawBytes
function witheitherDeserialiseFromRawBytes
(PR 4626) -
New
deserialiseFromTextEnvelopeCddlAnyOf
function (PR 4625) -
** Breaking ** Replace
NotScriptLockedTxInsError
type withScriptLockedTxInsError
(PR 4484) -
Separate validation and creation of transaction bodies (PR 4468)
-
New
QueryPoolDistribution
query (PR 4250) -
More efficient
ToJSON
instances that make use oftoEncoding
for streaming. (PR 4205) -
Expose
AcquireFailure
andSystemStart
fromCardano.Api.Shelley
(PR 4199) -
Update
makeTransactionBodyAutoBalance
function to automatically calculate the total and return collateral values (PR 4198) -
New
QueryPoolState
query (PR 4170) -
Add
utxoCostPerByte
protocol parameter (PR 4141) -
Expose
Key
interface inCardano.Api.Shelley
(PR 4048) -
New
generateInsecureSigningKey
function (PR 4021) -
SPO on-chain poll commands adjustments (PR 5132)
-
UTC Time to slots conversion function (PR 5130)
-
Add new interim governance commands: {create, answer, verify}-poll (PR 5112)
-
CIP-1694 make space for DRep certificates (PR 5108)
-
File type to track the content and direction of files (PR 5105)
-
Expose UsingRawBytes et al types (PR 5086)
-
Expose SerialiseAsRawBytesError in Cardano.Api (PR 5085)
-
New genCardanoKeyWitness function (PR 5071)
-
Replace roundtripCBOR with trippingCbor (PR 5069)
-
Remove non-round-trippable value TxInsReferenceNone for babbage onwards in generator (PR 5064)
-
Improve roundtrip functions to report annotations on callsite (PR 5063)
-
Define Functor instance for FileError (PR 5057)
-
Script data serialisation (PR 5002)
-
Add LedgerStateBabbage and LedgerStateConway pattern synonyms (PR 5001)
-
Conway hard forks on prot-ver 9 (PR 4988)
-
Guard against overflows in Shelley TxIns (PR 4956)
-
Remove duplicate scripts when building transaction body for Mary, Alonzo and Babbage (PR 4953)
-
Combinators for TxBodyContent and related types (PR 4941)
-
Preserve ScriptData bytes fix (PR 4926)
-
Detect invalid counter and certificate (PR 4880)
-
Implement ADR-2: Restructure modules for generators (PR 4833)
-
New NodeToClientVersionOf typeclass (PR 4787)
-
Implement signArbitraryBytesKes for use in Mithril (PR 4779)
-
Export SubmitResult from Cardano.Api (PR 4753)
-
Add support for ghc-9.2 and partial support for CHaP (PR 4701)
-
Append tx output in cli transaction build command (PR 4696)
-
Add ToJSON/FromJSON instances for ChainPoint (PR 4686)
-
Add an Ord ChainPoint instance (PR 4685)
-
Derive Eq instance for AcquiringFailure (PR 4683)
-
Export
fromShelleyBasedScript
from Cardano.Api (PR 4682) -
Expose TextEnvelopeCddl from Cardano.Api (PR 4635)
-
Expose txScriptValidityToScriptValidity in Cardano.Api (PR 4628)
-
Cardano Node 1.35.6 aka Single Relay P2P release (PR 4612)
-
Update ouroboros-network and cardano-ledger dependencies (PR 4608)
-
export RawBytesHexError (PR 4599)
-
Module reshuffle (PR 4593)
-
Add Ord instance for AddressInEra (PR 4587)
-
Add ToJSON and FromJSON instances for Address (PR 4568)
-
Export TxIns type alias (PR 4565)
-
Export IsPlutusScriptLanguage (PR 4554)
-
Export more generators (PR 4534)
-
Condense Read and Validation modules in cardano-cli (PR 4516)
-
Export TxTotalAndReturnCollateralSupportedInEra from Cardano.Api (PR 4496)
-
Export
LocalTxSubmissionClient
data constructor (PR 5096)
-
Fix: Add
AStakeExtendedVerificationKey
back intodeserialiseAnyVerificationKeyTextEnvelope
(PR 4918) -
Fix: Re-add
AGenesisExtendedVerificationKey
back intodeserialiseAnyVerificationKeyTextEnvelope
(PR 4894) -
Allow reading text envelopes from pipes (PR 4384)
-
Fix 4493 bug - TxWitness text envelope format does not roundtrip in Shelley era (PR 4501)
-
Fix minUTxO calculation in
calculateMinimumUTxO
function incardano-api
(PR 5013)
- Fix leadership schedule for current on babbage (#4106)
- Update build to allow all invalid scripts (again) (#4088)
- Fix building of Alonzo transaction in Babbage era. (#4166)
- Add
utxoCostPerByte
protocol parameter (#4141)
None
None
- Add Vasil hardfork to cardano-api and cardano-cli (#3765)
- Reference script integration (#3953)
- Wire up remaining Plutusv2 reference script types (#4034)
- Add
IsString
(Hash BlockHeader) (#3619) - Make
LedgerStateEvents
a type alias (#3692) - Propagate protocol epoch state decode error (#3696)
- Expose the tx mempool monitoring mini protocol in cardano-api (#3706)
- Babbage functionality integration in cardano api Part 1 (#3803)
- Remove unused package (#3816)
- Add
IsCardanoEra
constraint to BlockInMode (#3665) - Update cardano-api's TxOut with inline datum (#3773)
- Update cardano-api txout with reference scripts (#3779)
- Implement return and total collateral in cardano-api (#3787)
- Add reference transaction inputs to cardano-api (#3804)
- Fix datum in tx and ref scripts (#3882)
- Support the babbage era in the API function
cddlTypeToEra
(#3916) - Fix typo for TxWitness BabbageEra (#3961)
- kes-period-info property test (#3718)
- Extend deserialiseFromRawBytesHex to produce error description (#3304)
- add genesis create-cardano command (#3832)
- Propagate protocol in block type (#3818)
- Create VRF signing key file with correct permissions (#1948)
- Update example-reference-script-usage.sh to also use inline datums (#4006)
- Restore deleted comment (#4044)
- Do not require decentralization parameter in protocol parameters (#4051)
- Expose
lovelaceToTxOutValue
. (#3381) - Implement two functions:
currentEpochEligibleLeadershipSlots
andnextEpochEligibleLeadershipSlots
to get the leadership slots for the current/next epoch respectively. (#3464, #3494) - Various small internal fixes. (#3466)
- Add a
capi
library to support using the cardano node as a C library in other software. (#3501) fromShelleyAddr
now takes an explicitShelleyBasedEra
parameter to determine the era. The previous behaviour (with an implicitIsShelleyBasedEra
constraint) can be obtained withfromShelleyAddrIsSbe
. (#2253, #3606)
- Asset names are now rendered in a more consistent fashion in JSON output. Previously names which happened to be valid ASCII were rendered as such, and ones which were not resulted in unprintable characters. Now all names are rendered as hex. Future clients may choose to additionally render ASCII names if plausible to do so. (#3211)
- Various testing improvements. (#3361)
- Expose ledger events via the ledger state API. (#3374)
- Various internal improvements and refactorings. (#3163, #3253, #3288)
- Improvements to the ledger state API. (#3143)
- Make it easier to use monadic queries. (#3151)
- Implement 'getBlockHeader' for Alonzo. This was a stray function that got missed when implementing Alonzo in the API. (#3158)
- A few additional exports for API consumers. (#3156)
- Expose ledger events through the API. Ledger events provide a way for consumers to receive details about things that are happening inside the ledger, and will be used by tools such as db-sync. (#3085)
- Improve the error message reported when you try to spend a non-Plutus locked input using a Plutus script. (#3187)
- Support for automated Tx building. (#2953)
- A few additional exports for API consumers. (#3001, #3055)
- Miscellaneous internal improvements. (#2948)
- Block folding interface now derives the network ID automatically from the ledger config. (#2955, #2975)
- Improve the error generated when a Tx output does not meet the minimum UTxO value. (#3027)
- Add support for querying the Alonzo ledger state. (#2974)
- Update the API documentation.
- Support for the upcoming Alonzo era, including protocol parameters, Plutus scripts and collateral inputs. (#2784, #2798, #2808, #2810, #2815, #2818, #2823, #2828)
- Add a function 'getTransactionBodyContent'. This extracts a general view of the TxBody from the era-specific bodies. (#2663)
- Add API support for new node queries:
QuerySystemStart
gets the system start time.QueryStakePools
andQueryStakePoolParameters
can be used to get details on the currently known stake pools.QueryUTxOFilter
provides various ways to query a filtered subset of the UTxO. (#2843)
- Added functions to the API to assist in automated transaction building:
evaluateTransactionBalance
computes the current balance of a (partial) transaction, which is helpful for determining what needs to be done to correctly balance it (such that value produced equals value consumed).evaluateTransactionExecutionUnits
computes how many ExUnits will be needed by all the scripts in a (partial) transaction.evaluateTransactionFee
computes the fee for a (partial) transaction, assuming a given number of VKey witnesses (corresponding to inputs).estimateTransactionKeyWitnessCount
attempts to estimate the number of VKey witnesses needed.makeTransactionBodyAutoBalance
attempts to create and automatically balance a transaction body, using the above tools. (#2906)
- Miscellaneous internal improvements. (#2836, #2840)
- Add initial support for the ledger state and folding over blocks to the API. (#2633)
- Scripts are now stored within the TxBody in the API, rather than in the witnesses. (#2547)
- The cardano-submit-api now takes transactions encoded as CBOR rather than JSON. This reverts a change to existing behaviour for backwards compatibility. (#2491, #2512)
- Remove a backwards-compatibility workaround related to the optional query point (#2241 below) when querying the NodeLocalState. This had resulted in spurious notifications of disconnection in the logs. Note that as a consequence of this, instances of the CLI and other tools using the 1.26.1 API will fail to query node state from older versions of the node. (#2540)
- Added a demo for the use of cardano-client. This is an API to allow writing programs to interact with the cardano node. (#2295, #2303)
- Removed code pertaining to the old IPC API (#2319)
- Add the ability to calculate the minimum deposit needed for a transaction to the API, given a value. (#2325)
- When querying the NodeLocalState, make the query point optional, and use the chain tip when not specified. (#2241)
- Various internal improvements and refactoring (#2349, #2458)
- New IPC modules for easier interaction with the node, including support for all existing local state queries (#2230, #2238, #2263, #2277, #2286)
- API support for Byron era update proposals and votes (#2209, #2271)
- Make Cardano.Api the primary public module for the API.
- API support for serialising multi-asset PolicyId and AssetName (#2270)
- API for pretty-printing JSON output (#2103)
- Improved tests for Byron era legacy key formats (#2259)
- More precise error cases for tx outputs that are out of range (#2217)
- Host up-to-date generated API documentation via github https://input-output-hk.github.io/cardano-node/ (#2273, #2276, #2278)
None
- Fix the getTxId implementation for Byron-era transactions (#2169)
- Full API support for the Allegra and Mary eras, including creating transactions for the new eras, and support for the special new features in the new eras: script extensions, tx validity intervals, auxiliary scripts, multi-asset tx outputs and asset minting (#2092, #2110, #2111, #2121, #2127, #2128, #2141, #2149)
- Preliminary support for the Allegra script language extensions (#2069)
- Preliminary support for the Mary multi-asset extensions (#2083, #2085, #2093)
- Internal refactoring of the API code (#2040, #2055, #2094)
None
- Preliminary support for the upcoming Allegra and Mary eras (#1958, #2019)
- Additional test coverage (#1999)
- Add a Ed25519-BIP32 instance of the new crypto classes (#1933, #1952)
- Adjust what is exposed via Cardano.Api.{Byron,Shelley} (#1932)
None
- Support for multi-signature scripts (#1788)
- Support for Byron witnesses for addresses that use attributes, which includes all addresses in legacy Daedalus Byron wallets (#1851, #1871)
- Introduce a Cardano.Api top level module exporting only the public parts and modules Cardano.Api.{Byron,Shelley} that expose the underlying library types for applications that need it (#1881)
- Improved support for JSON to Tx metadata conversions, with two supported JSON schemas, suitable for different use cases (#1797)
- Adjust the tx metadata JSON schema to be fully recursive (#1735)
- Audit compliance with CIP5 for common bech32 prefixes (#1781)
- Add functionality for validating tx metadata (#1432, #1677)
- Support for scripts and specifically multi-sig scripts (#1623)
- Support for JSON syntax for multi-sig scripts (#1660)
- Support for converting tx metadata to/from JSON (#1606, #1682)
- Support for Bech32-encoded stake pool IDs (#1528, #1638)
- Code tidying using hlint and style tool (#1590, #1625, #1663, #1707, #1708)
None
- Allow genesis keys as tx witnesses (#1483)
- Allow extended genesis delegate keys to sign operational certs (#1497)
- Add support for extended keys for stake, genesis and delegate keys (#1487)
- Remove the old API (#1444, #1456)
- Added raw serialisation instances for all key types (#1455)
- Added bech32 serialisation following draft CIP 5 (#1455)
- Include tx metadata in transactions in the new api (#1406)
- Add support for extended ed25519 keys for payment keys (#1411)
- Improve tx submission API in the new API (#1430)
- Fix the ledger state dump query (#1333, #1334)
- Support for Byron witnesses in Shelley txs in the typed API (#1339)
- Support for Bech32 serialisation in the typed API (#1382)
- Support for other additional functionality in the typed API (#1337, #1375)
- More tests for the typed API (#1360, #1369, #1378)
- Moving code around to eliminate the cardano-config package (#1289, #1380)
- Fix the query that dumps the ledger state as JSON (#1333)
No changes in the cardano-api. There were changes in the cardano-node.
-
Improvements to the strongly-typed API (#1112, #1220, #1227, #1246)
The API is not yet stable in this release.
-
Initial version of an improved strongly-typed API. Initially focusing on creating and serialising keys.
The API is not yet stable in this release.
-
Initial version of the API package. The package provides client-side functionality for constructing and submitting transactions.
The API is not yet stable in this release.
-
Initial transaction API with Byron support and Shelley stubs (#787)
-
Shelley address key pair generation (#799)