Releases: IntersectMBO/plutus-apps
Plutus Application Framework v1.2.0 Release
What's Changed
The most important changes of this release are the removal of Tx
type and related functions, switching to cardano-api
library for transaction manipulation and new a nix flake-based infrastructure.
๐ฆ cardano-node-emulator
Removed
- Removed
OpenApi.ToSchema
instance forSlotConfig
. - Remove
estimateTransactionFee
,signTx
,fromPlutusTx
,fromPlutusTxSigned
,fromPlutusTxSigned'
as theTx
was removed fromplutus-ledger
.
Changed
- The default utxo provider for balancing now selects bigger inputs first when adding new inputs, to reduce the number of inputs.
This was in particular a problem for collateral inputs, of which there can only be 3.
๐ฆ cardano-streaming
Added
- Fold blocks into ledger state at client side using local chainsync protocol, both pipelined and non-pipelined versions are provided.
๐ฆ freer-extras
Removed
- Removed
OpenApi.ToSchema
instance forPageQuery a
,PageSize
, andPage a
.
๐ฆ plutus-chain-index-core
Added
- Added missing orphan
OpenApi.ToSchema
instances.
Changed
- Moved to using the
Value
type fromcardano-api
instead of the one fromplutus-core
.
๐ฆ plutus-contract
Removed
- The
Plutus.Contract.Wallet
module has benn moved to theplutus-pab
package
under theCardano.Wallet.LocalClient.ExportTx
. EmulatorAssertionContractError
andTxConstraintResolutionContractError
were removed fromContractError
.- Removed
OpenApi.ToSchema
instance forPABReq
,ChainIndexQuery
,ActiveEndpoint
,RequestID
,IterationID
,Request a
,ThreadToken
,Wallet
,WalletId
,TxKey
,SequenceId
,DereferencedInput
,BeneficialOwner
,AnnotatedTx
,ContractInstanceId
,ContractActivityStatus
,EndpointDescription
.
Added
- A set of functions were added to submit a cardano
Tx
from a a set of
constraints:subCardanoTx
,subCardanoTxConstraints
,
subCardanoTxConstraintsPending
,subCardanoTxConstraintsWith
,
andmkCardanoTxConstraints
. walletFundsChangePlutus
: A version ofwalletFundsChange
that works withplutus-core
Value
s.plutusValueAtAddress
: A version ofvalueAtAddress
that works withplutus-core
Value
s.
Changed
- The
getUnspentOutput
function that was in thePlutus.Contract.Wallet
module is now inPlutus.Contract.Request
. - Moved to using the
Value
type fromcardano-api
instead of the one fromplutus-core
. plutus-ledger-constraints
was replaced withplutus-tx-constraints
.
๐ฆ plutus-ledger
Removed
- Removed
OpenApi.ToSchema
instance for a lot of ledger, plutus and cardano types. - Moved
Ledger.Value
toPlutus.Scripts.Utils.Value
- Moved
Ledger.Ada
toPlutus.Scripts.Utils.Ada
- Remove
unspentOutputsTx
andspentOutputs
. - Remove
cardanoApiTx
,emulatorTx
,onCardanoTx
,cardanoTxMap
,addSignature
,addSignature'
,txOutRefs
,unspentOutputsTx
,txId
. - Remove
CardanoTx(EmulatorTx, CardanoApiTx)
. - Remove
toCardanoTxBody
,toCardanoTxBodyContent
,toCardanoTxInWitness
,toCardanoMintValue
. - Remove
Tx
andTxStripped
types and all related functions.
Added
- Added
Ledger.Value.CardanoAPI
for working with theValue
type fromcardano-api
.
Changed
- Moved to using the
Value
type fromcardano-api
instead of the one fromplutus-core
. - Renamed
SomeCardanoApiTx(SomeTx)
toCardanoTx(CardanoTx)
. - Renamed
CardanoApiEmulatorEraTx
toCardanoEmulatorEraTx
.
๐ฆ plutus-pab-executables
Removed
- Removed dependency on playground-common and everything that depended on it
- Removed Plutus.PAB.Run.PSGenerator
Changed
plutus-ledger-constraints
was replaced withplutus-tx-constraints
.
๐ฆ plutus-pab
Removed
- Removed dependency on playground-common and everything that depended on it.
- Plutus.PAB.Effects.Contract: removed exportSchema and endpointsToSchemas
Added
-
The
Cardano.Wallet.LocalClient.ExportTx
module (previously
Plutus.Contract.Wallet
inplutus-contract
) was added. -
Added a lot of missing
OpenApi.ToSchema
instances.
Changed
plutus-ledger-constraints
was replaced withplutus-tx-constraints
.
๐ฆ plutus-script-utils
Added
- Moved
Ledger.Value
toPlutus.Scripts.Utils.Value
- Moved
Ledger.Ada
toPlutus.Scripts.Utils.Ada
๐ฆ plutus-tx-constraints
Removed
- Remove
UnbalancedEmulatorTx
andunBalancedTxTx
as theTx
was removed fromplutus-ledger
.
Added
- Added the lacking types and functions from
plutus-ledger-constraints
including following modules:Ledger.Tx.Constraints.OnChain.V1
Ledger.Tx.Constraints.OnChain.V2
Ledger.Tx.Constraints.TxConstraints
New Contributors
- @RubensGitHub made their first contribution in #912
Full Changelog: v1.1.0...v1.2.0
Plutus Application Framework v1.1.0 Release
What's Changed
๐ฆ plutus-contract
Added
-
Added 'Ledger.Value.currencyValueOf' function.
-
Added the
Plutus.Trace.Emulator.runEmulatorTraceIOWithConfig
function -
Creation of an 'assertEvaluationError'
Contract.Test
to ease verification of
invalid transactions.
Changed
-
Changed
Plutus.Trace.Emulator.TraceConfig
data contructor to work withLogMessage EmulatorEvent
instead ofEmulatorEvent'
, added a parameter to configure theLogLevel
of log messages,
renamed the fieldshowEvent
totraceConfigShowEvent
and renamed the fieldoutputHandle
to
traceConfigOutputHandle
. -
Changed the signature of
Plutus.Trace.Emulator.runEmulatorTrace
by additing aTraceConfig
parameter which is used to filter the log messages by theirLogLevel
, and returnsLogMessage EmulatorEvent
instead ofEmulatorEvent'
. -
Changed the signature of
Plutus.Trace.Emulator.evalEmulatorTrace
by additing aTraceConfig
parameter which is used to filter the log messages by theirLogLevel
. -
Change the output format of log messages printed by
Plutus.Trace.Emulator.runEmulatorTrace
by
changing theDefault
instance ofTraceConfig
. -
Renamed
Plutus.Trace.Emulator.currentSlot
toPlutus.Trace.Emulator.chainCurrentSlot
. -
We now use
cardano-api
AddressInEra
(through the alias
Ledger.Address.CardanoAddress
) in the emulator instead ofplutus
addresses. -
DoubleSatisfaction
is now usingcardano-api
Tx
instead of the emulator
one.
Deprecated
- Deprecated
Plutus.Trace.Emulator.runEmulatorTraceIO'
in favor ofPlutus.Trace.Emulator.runEmulatorTraceIOWithConfig
Security
- Fixed state machine thread token on-chain check in light of https://www.tweag.io/blog/2022-03-25-minswap-lp-vulnerability
๐ฆ plutus-pab-executables
Changed
tx-inject
now usesTx
fromcardano-node
๐ฆ plutus-tx-constraints
Added
- Add support for the
MustMint
constraint. - Added
mustProduceAtLeast
andmustSpendAtLeast
constraints. - Added
checkValueSpent
inprocessLookupsAndConstraints
to validate spend inputs and outputs.
๐ฆ cardano-node-emulator
Added
- Moved from
plutus-ledger
package:Ledger.TimeSlot
toCardano.Node.Emulator.TimeSlot
Ledger.Params
toCardano.Node.Emulator.Params
Ledger.Generators
toCardano.Node.Emulator.Generators
Ledger.Fee
toCardano.Node.Emulator.Fee
Ledger.Validation
toCardano.Node.Emulator.Validation
Wallet.Emulator.Chain
toCardano.Node.Emulator.Chain
๐ฆ plutus-chain-index-core
Changed
- We now use
cardano-node
Tx
type instead of the one ofplutus-ledger
.
๐ฆ plutus-script-utils
Removed
mkUntypedMintingPolicyV1
replaced by a version agnostic functionmkUntypedMintingPolicyV2
replaced by a version agnostic functionmkUntypedStakeValidatorV1
replaced by a version agnostic functionmkUntypedStakeValidatorV2
replaced by a version agnostic functionmkUntypedValidatorV1
replaced by a version agnostic functionmkUntypedValidatorV2
replaced by a version agnostic function
Added
Plutus.Script.Utils.Typed.ScriptContext
a type class that allow the creation
of an untyped minting policy, stake validator or validator.- an instance of
Plutus.Script.Utils.Typed.ScriptContext
forPlutus. ledger.V1.Ledger.Context.ScriptContext
- an instance of
Plutus.Script.Utils.Typed.ScriptContext
forPlutus. ledger.V2.Ledger.Context.ScriptContext
Changed
- The default implementation of functions in the
IsScriptContext
typeclass now
log which data they are trying to decode, to ease debugging when an invalid
binary representation of a redeemer / value or script context is sent.
๐ฆ plutus-ledger-constraints
Added
ValidityInterval
is a type of interval โ where the lower bound is closed and the upper bound is open โ to provide a correct by construction tool for constraints.- Functions to construct
ValidityInterval
and to convert it to the plutusInterval
and backwards. mustValidateInTimeRange
constraint as an alternative tomustValidateIn
but it takesValidityInterval POSIXTime
instead.mustValidateInSlotRange
constraint.
Changed
MustValidateIn POSIXTimeRange
constraint was replaced withMustValidateInTimeRange !(ValidityInterval POSIXTime)
to make the constraint's interface more precise by usingValidityInterval
instead ofPOSIXTimeRange
according to https://github.com/input-output-hk/plutus-apps/blob/main/doc/adr/0013-tx-validity-time-range-fix.rst.- Removed off-chain checks of
MustIncludeDatumInTxWithHash
andMustIncludeDatumInTx
. They now only verify
the datums when used on-chain.
Deprecated
mustValidateIn
was deprecated according to https://github.com/input-output-hk/plutus-apps/blob/main/doc/adr/0013-tx-validity-time-range-fix.rst.
๐ฆ plutus-ledger
Removed
- Moved to
cardano-node-emulator
package:Ledger.TimeSlot
toCardano.Node.Emulator.TimeSlot
Ledger.Params
toCardano.Node.Emulator.Params
Ledger.Generators
toCardano.Node.Emulator.Generators
Ledger.Fee
toCardano.Node.Emulator.Fee
Ledger.Validation
toCardano.Node.Emulator.Validation
Wallet.Emulator.Chain
toCardano.Node.Emulator.Chain
Added
-
minAdaTxOut
, computes the minimum amount of Ada required for aTxOut
more
precisely, by taking the params and theTxOut
. -
Added
makeAutoBalancedTransactionWithUtxoProvider
and related functions toLedger.Fee
. -
Ledger.Address.CardanoAddress
an alias to address in the latest era -
Ledger.Address.cardanoAddressCredential
to retrieveplutus
credentials
from a Cardano address -
Ledger.Address.cardanoStakingCredential
to retrieveplutus
staking credentials
from a Cardano address -
Ledger.Address.cardanoStakingCredential
to retrieveplutus
PubKeyHash
from a Cardano address -
Ledger.Address.toPlutusAddress
to get aplutus
address from a Cardano one
(it replacesLedger.Tx.CardanoAPI.fromCardanoAddressInEra
)
Changed
-
minAdaTxOut
is now renamedminAdaTxOutEstimated
. -
Moved
adjustTxOut
intoLedger.Index
-
Balancing no longer logs if and which inputs and outputs were added.
-
Moved to
Ledger.Tx.CardanoAPI
:Ledger.Validation.getRequiredSigners
Ledger.Validation.fromPlutusIndex
Ledger.Validation.fromPlutusTxOut
Ledger.Validation.fromPlutusTxOutRef
-
Ledger.Address
now priviledgescardano-api
addresses instead ofplutus-api
addresses.
Deprecated
fromCardanoAddressInEra
,fromCardanoAddress
,fromCardanoPaymentCredential
,
fromCardanoPaymentKeyHash
,fromCardanoScriptHash
,
fromCardanoStakeAddressReference
andfromCardanoStakeCredential
fromLedger.Tx.CardanoAPI
that shouldn't be used now that we usecardano-api
adress in the emulator.
New Contributors
Full Changelog: v1.0.0...v1.1.0
Plutus Application Framework v1.0.0 Release
Release notes
This release targets a Cardano Network with the Vasil HF (node v1.35.4) and supports the Babbage era features.
What follows is a general picture of what Babbage era features we currently support:
plutus-contract
emulator has been updated to work with Babbage era types.plutus-contract
emulator uses the Babbage era validation rules fromcardano-ledger
.plutus-ledger-constraints
andplutus-tx-constraints
has been updated to build transactions with reference inputs, inline datums and reference scripts.plutus-chain-index
has been updated to read blocks from Babbage era, and supports storing reference scripts and inline datums from transactions. However, the stored UTxO does not include collateral output from transactions.
Important changes:
- Added 'currentChainIndexSlot' in Contract API.
- Changed the tx output representation of EmulatorTx to use Cardano.Api.TxOut
- Removed the TotalFunds effect of WalletEffect.
- Change behavior of MustPayToPubKeyAddress and MustPayToOtherScript in #705
- Renamed currentTime to currentNodeClientTimeRange and renamed currentPABSlot to currentNodeClientSlot in #772
- Remove offchain logic for MustProduceAtLeast and MustSpendAtLeast in #817
- Use Cardano Haskell package repository ("CHaP") in #797
- Removed
plutus-playground
in #821
What's Changed
- SCP-3855: update node dep by @ak3n in #449
- Update next node branch with main branch by @koslambrou in #454
- PLT-18: Create validator/minting policy/stake validator wrapper for Plutus V2 by @koslambrou in #461
- [chain-index]: export all servant client functions by @ak3n in #492
- [next-node]: merge updates from the main branch. by @ak3n in #507
- Create separate directories for v1 and v2 plutus scripts by @Jimbo4350 in #486
- Add PlutusV2 minting and staking scripts by @Jimbo4350 in #528
- [chain-index]: add inline datums support by @ak3n in #488
- PLT-484 Upgraded cardano-node version to the official 1.35.0 release.โฆ by @koslambrou in #551
- Backport changes from the main branch to the next-node branch by @koslambrou in #553
- Updated version of plutus-apps components to 1.0.0 and cardano-node to 1.35 by @koslambrou in #560
- Backport changes from main to next-node branch by @koslambrou in #576
- Merge #574 and #575 from main into next-node by @koslambrou in #578
- Update cardano-node dependency to 1.35.1 by @koslambrou in #584
- Add build-and-serve-docs to CONTRIBUTING... by @james-iohk in #595
- Replace
Set TxIn
with[TxIn]
to fixStateMachine.getInput
by @ak3n in #594 - Require markdown 3.3.7 by @james-iohk in #601
- Added precision on the meaning of the first-major version of plutus-apps by @koslambrou in #597
- Add note to
checkPredicateGenOptions
by @FinleyMcIlwaine in #603 - Add script equivalence context test for the V2 context. by @Jimbo4350 in #588
- Fix the swagger with CardanoBuildTx's OpenApi stub schema by @ak3n in #599
- Buildkite will now generate the docker devcontainer with the
vX.Y.Z
tag name by @koslambrou in #598 - PLT-515 Improve DevX for
plutus-playground-server/client
andpab-nami
users by @zeme-iohk in #559 - Merge main branch into next-node by @koslambrou in #609
- Remove withIsCardanoEra workaround by @andreabedini in #607
- Increase the delay of awaiting in plutus-pab-executables tests by @ak3n in #565
- Add zero ada to mint and fee fields to match cardano-ledger behaviour by @ak3n in #608
- feat: replace allowBigTransactions function with increaseTransactionLโฆ by @KristianBalaj in #606
- Fix Plutus Plauground Nightly E2E Test by @zeme-iohk in #615
- Fix a typo of PubKeyTxOut by @whs-dot-hk in #621
- [PLT-81] plutus-chain-index: support inline scripts when querying TxOut of a TxOutRef by @andreabedini in #613
- Merge subtree raduom/hysterical screams into plutus-hysterical-screams by @zeme-iohk in #620
- Absorb hysterical-screams into plutus-apps by @zeme-iohk in #627
- Moved datum and redeemer hash computation functions in plutus-script-utils by @koslambrou in #628
- Raduom/marconi initiative by @raduom in #585
- PLT-309: Rename 'currentSlot' to 'currentPABSlot' and add 'currentChainIndexSlot'. by @ak3n in #619
- Replace
#!/bin/bash
with#!/usr/bin/env bash
by @eyeinsky in #618 - Fix typo In by @whs-dot-hk in #630
- PLT-359 ADR regarding problem with PAB's integration with indexing solutions. by @koslambrou in #550
- Add minting context equivalence test plutus script by @Jimbo4350 in #631
- Add missing field by @eyeinsky in #617
- PLT-568: Switch to Babbage era by @sjoerdvisscher in #614
- Refactored the tx constraints library to prepare for PlutusV2 by @koslambrou in #625
- Merge
main
innext-node
branch by @koslambrou in #634 - Remove old references to hysterical-screams by @zeme-iohk in #635
- ADR-0004 Common PAB API document by @gege251 in #586
- [next-node]: Bump wallet, plutus, ledger, node by @ak3n in #616
- Use '[TxIn]' instead of 'Set TxIn' in 'data Tx' by @ak3n in #623
- cardano-ledger validation rules are prioritized over custom validaton rules by @koslambrou in #639
- PLT-80: Fix "Output doesn't have the minimum required Ada" error while balancing by @sjoerdvisscher in #600
- PLT-445 Add
mustReferencePubKeyOutput
in constraints library by @koslambrou in #640 - Fix static-site.nix formatting by @whs-dot-hk in #646
- Fix onchain MustPayToPubKeyAddress check by @sjoerdvisscher in #648
- Fix Ledger.Constraints.TxConstraints.collectFromPlutusV1ScriptFilter implementation by @koslambrou in #644
- Update cardano-node to 1.35.3-rc1 with deps by @ak3n in #647
- Add mustSpendAtLeast Constraint tests by @james-iohk in #641
- Add plutus-contract tests for required signer and... by @james-iohk in #624
- PLT-682 ADR for the constraint interface change following support for reference inputs by @koslambrou in #654
- Merge main branch into next-node 2022-08-11 by @koslambrou in #658
- Upgraded to a cardano-wallet version compatible with node 1.35.3-rc1 by @koslambrou in #657
- Merge main into next-node (2022-08-12) by @koslambrou in #659
- PLT-670: MustReferenceOutput by @sjoerdvisscher in #661
- PLT-682 ADR for the constraint interface change following supporting inline datums by @koslambrou in #660
- Replace LedgerPlutusVersion with Language type by @sjoerdvisscher in #662
- Plt 684 adr interface changes to the transaction constraint library for working with reference scripts by @koslambrou in #663
- PLT-494: PlutusV2 TypedValidators by @sjoerdvisscher in #666
- SCP-4354...
Plutus Application Framework v1.0.0-alpha1 Release
Release notes
This alpha release targets a Cardano Network with the Vasil HF (node v1.35.3). It will allow dApp developers to test their existing PlutusV1 application on a network which has been forked to support Babbage era features. Therefore, do not expect this release to work on Cardano mainnet until the Vasil HF, because our transaction library submits Babbage era transactions with PlutusV1 or PlutusV2 scripts.
The different packages have been updated to work during the Babbage era and partially support the new Babbage era features. We will continue releasing other alpha releases as we get feedback from the community.
What follows is a general picture of what Babbage era features we currently support:
plutus-chain-index
has been updated to read blocks from Babbage era, and supports storing reference scripts and inline datums from transactions. However, the stored UTxO does not include collateral output from transactions.plutus-contract
emulator has been updated to work with Babbage era types. However, the UTxO index in the emulator does not support transaction outputs with reference scripts and inline datums.plutus-contract
emulator uses the Babbage era validation rules fromcardano-ledger
. However, we continue to use our old custom validation rules which we plan to remove in the next alpha release in order to fully commit withcardano-ledger
's validation rules.plutus-ledger-constraints
andplutus-tx-constraints
has been updated only to build transactions with reference inputs, but does not yet support yet inline datums and reference scripts
If you find any issues, please submit a report here: https://github.com/input-output-hk/plutus-apps/issues
What's Changed
- SCP-3855: update node dep by @ak3n in #449
- Update next node branch with main branch by @koslambrou in #454
- PLT-18: Create validator/minting policy/stake validator wrapper for Plutus V2 by @koslambrou in #461
- [chain-index]: export all servant client functions by @ak3n in #492
- [next-node]: merge updates from the main branch. by @ak3n in #507
- Create separate directories for v1 and v2 plutus scripts by @Jimbo4350 in #486
- Add PlutusV2 minting and staking scripts by @Jimbo4350 in #528
- [chain-index]: add inline datums support by @ak3n in #488
- PLT-484 Upgraded cardano-node version to the official 1.35.0 release.โฆ by @koslambrou in #551
- Backport changes from the main branch to the next-node branch by @koslambrou in #553
- Updated version of plutus-apps components to 1.0.0 and cardano-node to 1.35 by @koslambrou in #560
- Backport changes from main to next-node branch by @koslambrou in #576
- Merge #574 and #575 from main into next-node by @koslambrou in #578
- Update cardano-node dependency to 1.35.1 by @koslambrou in #584
- Add build-and-serve-docs to CONTRIBUTING... by @james-iohk in #595
- Replace
Set TxIn
with[TxIn]
to fixStateMachine.getInput
by @ak3n in #594 - Require markdown 3.3.7 by @james-iohk in #601
- Added precision on the meaning of the first-major version of plutus-apps by @koslambrou in #597
- Add note to
checkPredicateGenOptions
by @FinleyMcIlwaine in #603 - Add script equivalence context test for the V2 context. by @Jimbo4350 in #588
- Fix the swagger with CardanoBuildTx's OpenApi stub schema by @ak3n in #599
- Buildkite will now generate the docker devcontainer with the
vX.Y.Z
tag name by @koslambrou in #598 - PLT-515 Improve DevX for
plutus-playground-server/client
andpab-nami
users by @zeme-iohk in #559 - Merge main branch into next-node by @koslambrou in #609
- Remove withIsCardanoEra workaround by @andreabedini in #607
- Increase the delay of awaiting in plutus-pab-executables tests by @ak3n in #565
- Add zero ada to mint and fee fields to match cardano-ledger behaviour by @ak3n in #608
- feat: replace allowBigTransactions function with increaseTransactionLโฆ by @KristianBalaj in #606
- Fix Plutus Plauground Nightly E2E Test by @zeme-iohk in #615
- Fix a typo of PubKeyTxOut by @whs-dot-hk in #621
- [PLT-81] plutus-chain-index: support inline scripts when querying TxOut of a TxOutRef by @andreabedini in #613
- Merge subtree raduom/hysterical screams into plutus-hysterical-screams by @zeme-iohk in #620
- Absorb hysterical-screams into plutus-apps by @zeme-iohk in #627
- Moved datum and redeemer hash computation functions in plutus-script-utils by @koslambrou in #628
- Raduom/marconi initiative by @raduom in #585
- PLT-309: Rename 'currentSlot' to 'currentPABSlot' and add 'currentChainIndexSlot'. by @ak3n in #619
- Replace
#!/bin/bash
with#!/usr/bin/env bash
by @eyeinsky in #618 - Fix typo In by @whs-dot-hk in #630
- PLT-359 ADR regarding problem with PAB's integration with indexing solutions. by @koslambrou in #550
- Add minting context equivalence test plutus script by @Jimbo4350 in #631
- Add missing field by @eyeinsky in #617
- PLT-568: Switch to Babbage era by @sjoerdvisscher in #614
- Refactored the tx constraints library to prepare for PlutusV2 by @koslambrou in #625
- Merge
main
innext-node
branch by @koslambrou in #634 - Remove old references to hysterical-screams by @zeme-iohk in #635
- ADR-0004 Common PAB API document by @gege251 in #586
- [next-node]: Bump wallet, plutus, ledger, node by @ak3n in #616
- Use '[TxIn]' instead of 'Set TxIn' in 'data Tx' by @ak3n in #623
- cardano-ledger validation rules are prioritized over custom validaton rules by @koslambrou in #639
- PLT-80: Fix "Output doesn't have the minimum required Ada" error while balancing by @sjoerdvisscher in #600
- PLT-445 Add
mustReferencePubKeyOutput
in constraints library by @koslambrou in #640 - Fix static-site.nix formatting by @whs-dot-hk in #646
- Fix onchain MustPayToPubKeyAddress check by @sjoerdvisscher in #648
- Fix Ledger.Constraints.TxConstraints.collectFromPlutusV1ScriptFilter implementation by @koslambrou in #644
- Update cardano-node to 1.35.3-rc1 with deps by @ak3n in #647
- Add mustSpendAtLeast Constraint tests by @james-iohk in #641
- Add plutus-contract tests for required signer and... by @james-iohk in #624
- PLT-682 ADR for the constraint interface change following support for reference inputs by @koslambrou in #654
- Merge main branch into next-node 2022-08-11 by @koslambrou in #658
- Upgraded to a cardano-wallet version compatible with node 1.35.3-rc1 by @koslambrou in #657
- Merge main into next-node (2022-08-12) by @koslambrou in #659
New Contributors
- @FinleyMcIlwaine made their first contribution in #603
- @KristianBalaj made their first contribution in #606
- @eyeinsky made their first contribution in https://github.com/input-output-hk/plutus-a...
Plutus Application Framework v0.1.0 Release
Release notes
- The release target the current Cardano mainnet (node v1.34.1) NOT the Vasil HF
- Updates to the ContractModel
- Enhancements in the
plutus-chain-index
queries and syncing - Newly added packages
plutus-script-utils
andplutus-tx-constraints
(very early alpha state which will eventually replaceplutus-ledger-constraints
) - Enhancements of the
plutus-contract
emulator - General refactoring and improvements
- Fixed various bugs in the framework
What's Changed
- Refine dependencies by @kk-hainq in #393
- chore(deps): bump cachix/install-nix-action from 16 to 17 by @dependabot in #404
- Add "cicAppendTransactionQueueSize" to config by @vladimirlogachev in #405
- chore(deps): bump actions/upload-artifact from 2 to 3 by @dependabot in #407
- Configurable configuration.yaml by @newhoggy in #409
- [plutus-chain-index-core]: fix utxo-with-currency beam query. Solution related with #185 by @alegadea in #411
- [chain-index]: return script and datum if present in getUtxoutFromRef by @ak3n in #413
- Updated ContractModel tutorial by @MaximilianAlgehed in #399
- Reintegrate the chain-index queries for querying txs by id and spent tx outputs from reference by @koslambrou in #418
- SCP-3658: MustSpendScriptOutputWithMatchingDatumAndValue by @sjoerdvisscher in #400
- web-ghc: Sandbox with bwrap by @shlevy in #427
- Copy tests from plutus-example by @newhoggy in #415
- Add StakeValidatorHash to MustPayToOtherScript constraint by @ak3n in #428
- Activated -Wmissing-import-lists for plutus-docs by @koslambrou in #431
- chore(deps): bump haskell/actions from 1 to 2 by @dependabot in #425
- Remove unnecessary/unused PaymentPubKey from ScriptLookups in plutus-ledger-constraints by @koslambrou in #432
- Remove updateMaterialized by @raduom in #434
- chore(deps): bump nixbuild/nix-quick-install-action from 12 to 13 by @dependabot in #433
- Replaced the addTxIn constraint with mustSpendOutputFromTheScript by @koslambrou in #436
- Have plutus-ledger not depend on cardano-wallet-core by @ch1bo in #437
- SCP-3853: Write release, branching and dependency update policy of plutus-apps by @koslambrou in #435
- Coverage static analysis by @MaximilianAlgehed in #416
- Allow chain-index to print silently. by @zmrocze in #401
- SCP-3845: Create new plutus-script-utils package with typed validators by @koslambrou in #447
- Update GHC version to 8.10.7 to get Mac builders unstuck. by @raduom in #460
- SCP-3631: Make protocolParameters configurable by @sjoerdvisscher in #455
- Fix typo in
Pretty
instance forWriteBalancedTxResponse
by @paluh in #465 - Add TimeValidity emulator test for different protocol versions by @james-iohk in #466
- plutus-pab: Set response timeout to 60 sec of HTTP requests by @koslambrou in #475
- Fix flakey CertifyingAndWithdrawingPlutus test with longer waits for Linux by @james-iohk in #477
- Add default definition for initialInstances by @MaximilianAlgehed in #478
- Export full PABEnvironment by @agocorona in #421
- plutus-contract: Modifying addOutputs in emulator by @koslambrou in #474
- [chain-index]: export all servant client functions by @ak3n in #485
- Add plutus-streaming package by @andreabedini in #476
- Initial DatumHash -> Datum index implementation. by @raduom in #480
- ContractModel: Report symbolic values as their symbolic names by @MaximilianAlgehed in #452
- Add AdjustUnbalancedTx effect by @ak3n in #419
- chore(deps): bump nixbuild/nix-quick-install-action from 13 to 14 by @dependabot in #491
- QuickCheck-dynamic: Move Typeable constraint further downstream of class hierarchy by @MaximilianAlgehed in #494
- Updated Github pull request template by @koslambrou in #495
- PLT-45: plutus-tx-constraints by @sjoerdvisscher in #490
- PLT-255 Fixed plutus-pab integration test by @koslambrou in #496
- [PLT-87] marconi: Log progress of synced blocks by @andreabedini in #489
- Comment MustSatisfyAnyOf. by @zmrocze in #497
- Static analysis to find unnecessary locations by @MaximilianAlgehed in #458
- Remove accidental change by @sjoerdvisscher in #506
- chore(deps): bump nixbuild/nix-quick-install-action from 14 to 15 by @dependabot in #508
- Utxo indexer by @raduom in #493
- PLT-381 Fix the value of epochSlots and add a comment by @andreabedini in #509
- PLT-380 Replace TChan with bounded queue by @andreabedini in #502
- PLT-271: Use of pure cardano-api transaction in emulator by @sjoerdvisscher in #503
- PLT-42 Added cabal-fmt to pre-commit hooks & reformatted all existingโฆ by @zeme-iohk in #505
- A story of two indexers by @raduom in #511
- Simplify cabal-fmt.nix and update docs by @zeme-iohk in #515
- chore(deps): bump nixbuild/nix-quick-install-action from 15 to 16 by @dependabot in #518
- Add pre-commit to shell.nix by @zliu41 in #514
- Fix PAB CliSpec with conflicting ports between two test cases by @koslambrou in #520
- Don't take collateral if validation doesn't fail in phase 2 by @MaximilianAlgehed in #510
- ContractModel: Detect Double Satisfaction Problems by @MaximilianAlgehed in #501
- PLT-333: Script for uploading an event dump file to S3 by @zliu41 in #530
- PLT-333: Script for running a local node in buildkite by @zliu41 in #531
- PLT-333: Script for running local node and dump job by @zliu41 in #532
- Remove gratuitous log file by @andreabedini in #525
- PLT-333: Buildkite pipeline for script dump job by @zliu41 in #533
- Make quickcheck-dynamic compatible with ghc-9.2 by @locallycompact in #527
- Contract model tutorial cosmetics by @UlfNorell in #523
- Fix quickcheck-dynamic registry model test #516. by @ak3n in #541
- Bootstrap Architectural Design Records (ADR) in our documentation by @koslambrou in #512
- Create README_marconi.md by @joseph-fajen in #513
- PLT-47 Add tutorial for using tx constraint API by @koslambrou in #529
- deleted Marlowe content, updated project name and copyright year by @joseph-fajen in #534
- Marconi remove unnecessary dependencies by @andreabedini in #536
- Simplify and format plutus-example.cabal by @andreabedini in #522
- Fix module name in Quantify docs by @locallycompact in #540
- PLT-3...
2022-04-06 PAB Release
2022-04-06 PAB Release Notes
Includes a collection fixes for PAB; updated versions of plutus, haskell.nix, cardano-node; introduced plutus-contract-certification; many improvements for chain-index; general refactoring and improvements.
What's Changed
- Allow playground to be visible on local network by @thakkery in #252
- Bump plutus for important upstream changes by @kk-hainq in #254
- Update instances while processing blocks from alonzo node (fix #206) by @ak3n in #260
- QuickCheck ContractModel testing facilities to deal with dynamically created tokens by @MaximilianAlgehed in #194
- Add links to Haddocks and the playground by @sjoerdvisscher in #261
- Refine dependencies and remove unused packages by @kk-hainq in #214
- SCP-3196: Added a new Game contract (simplified version of GameStateMachine) by @koslambrou in #256
- Smart shrinking for state machine tests by @MaximilianAlgehed in #262
- Remove note about Nix sandbox on Macos by @michaelpj in #266
- Fix protocol version error messages happening during synchronisation. by @raduom in #243
- s/msc/psc/g by @lemmon-714 in #270
- Add ToArgument instance for Slot #271 by @ak3n in #272
- Remove unused packages by @kk-hainq in #268
- Fix a bug whereby Unilateral would be forgotten in the ContractModel tests by @MaximilianAlgehed in #273
- PureScript Updates by @jhbertra in #238
- Bump hackage-nix & cabal index by @kk-hainq in #269
- Update pab-nami PAB config by @sorki in #277
- Minting doesn't need special treatment after all by @sjoerdvisscher in #267
- Make the PAB log ~1/10_000 messages. by @raduom in #281
- ContractModel: simplify starting contracts with parameters by @MaximilianAlgehed in #278
- SCP-3305 SCP-3263 fixed Ledger.Constraints.Offchain.updateUtxoIndex by @bwbush in #275
- Bump haskell.nix. by @shlevy in #283
- Allow to create a new wallet with the provided funds (#17). by @ak3n in #291
- Use slotConfig from the config for awaitTime by @ak3n in #292
- SCP-3367: PAB CLI for easing the starting of PAB + components by @koslambrou in #289
- SCP-2985: Contract errors are now logged when running the PAB. by @koslambrou in #297
- SCP-3116: Remove exitWithSuccess in PAB's runWithOpts by @koslambrou in #299
- SCP-3435: Refactored error types in Wallet.Types by @koslambrou in #298
- Update SlotConfig in UnbalancedTx in local wallet client #285 by @ak3n in #304
- plutus-use-cases-uniswap : validateRemove doesn't check real outA and outB by @kindofdev in #300
- pab-nami updates by @sorki in #303
- Fix matchInputOutput's pubkey case with datum #295 by @ak3n in #308
- SCP-3343 fixed intermittent rollback failures in PAB by @bwbush in #305
- Removed pab-cli and plutus-chain-index from the shell. by @koslambrou in #313
- ContractModel: Extend the Escrow contract model by @rjmh in #296
- ContractModel: add assertSpec operation by @MaximilianAlgehed in #311
- SCP-3431: Better syncing logging in the chain-index. by @koslambrou in #309
- ContractModel: Add wiggle room options to NoLockedFunds by @MaximilianAlgehed in #314
- Add missing plantuml executable when building docs with sphynx. by @koslambrou in #317
- ContractModel: Improve error messages and statistics reporting by @MaximilianAlgehed in #316
- SCP-3452 chain-index e2e tests by @james-iohk in #312
- SCP-3501: Remove txs from chain index by @ak3n in #315
- Playground E2E tests by @james-iohk in #279
- Collect coverage information from on-chain code in unit tests by @MaximilianAlgehed in #321
- Ledger Orphans: derive ToSchema for DiffMilliSeconds by @kk-hainq in #326
- Print error message when passing a non-existant socket path in the PAB by @koslambrou in #323
- ContractModel: Test that slot numbers line up between model and emulator by @MaximilianAlgehed in #327
- Write validityTimeRange for exported transactions by @novadev94 in #329
- chore(deps): bump actions/setup-node from 2 to 3 by @dependabot in #335
- chore(deps): bump cachix/install-nix-action from 13 to 16 by @dependabot in #325
- Move plutus-example from cardano-node to plutus-apps by @Jimbo4350 in #322
- ContractModel: Improved error message when using an unregistered symbolic token (fix #337) by @MaximilianAlgehed in #341
- Update pab-cli readme nix-shell cmd by @james-iohk in #343
- SCP-3617: Added Haddock documentation to the constraints in plutus-ledger-constraints by @koslambrou in #344
- ContractModel: wellformedness checks for Actions by @MaximilianAlgehed in #345
- SCP-3073: emulated ledger by @sjoerdvisscher in #336
- [chain-index]: fix the problem with not starting web server by @ak3n in #351
- Make PAB log less in recent slots by @novadev94 in #355
- SCP-3331 Fixed error handling for transaction balancing in PAB. by @bwbush in #360
- Change enableExecutableProfiling to enableProfiling by @ak3n in #365
- Edit PAB-Nami Demo README by @MitchTurner in #362
- Added Dockerfile by @agocorona in #361
- ContractModel: lazier precondition for ContractModel by @MaximilianAlgehed in #363
- Bump cardano-node to 1.34 and update the rest of the dependencies by @koslambrou in #367
- chore(deps): bump actions/checkout from 2 to 3 by @dependabot in #340
- SCP-3502: Add AppendBlocks effect by @ak3n in #319
- SCP-3631: Emulated ledger Phase2 validation by @sjoerdvisscher in #368
- chore(deps): bump nixbuild/nix-quick-install-action from 9 to 12 by @dependabot in #354
- SCP-3680: Use the number of transactions instead of number of blocks for queue. by @ak3n in #370
- Certification framework by @UlfNorell in #369
- [ChainIndex] Fix \unspent-tx-out query by @kikai-user in #377
- When breaking off the calcFee recursion, pick the larger fee. by @sjoerdvisscher in #381
- Enable build of CertifyingAndWithdrawingPlutus test by @newhoggy in #364
- Reinstate the SigningProcess API by @sjoerdvisscher in #384
- Fixed pab-nami demo README for setting up Nami wallet's lib by @koslambrou in #392
- Enable tests by @newhoggy in #391
- SCP-3445: fix chain index blocking by @ak3n in #386
New Contributors
- @thakkery made ...
2022-01-17 PAB Release
2022-01-17 PAB Release Notes
Includes a collection fixes and niceties; in particular some refactorings around the PSGenerator
; hopefully reducing the dependency load; documentation around how the PAB deployment/wallet scenarios, and a fix for a bug around minimum fee calculations.
What's Changed
- Add the rollback history command line option. by @raduom in #191
- Raduom/pab resume by @raduom in #210
- Refine executable dependencies by @kk-hainq in #213
- SCP-2981: Delete Plutus.PAB.Monitoring.Util by @j-mueller in #221
- SCP-3147: MkTx JSON logs by @j-mueller in #173
- QuickCheck ContractModels that test what happens when a contract crashes by @MaximilianAlgehed in #118
- Make plutus-pab's local cluster in it's own library by @koslambrou in #205
- Move psgenerator out of plutus-pab by @ak3n in #216
- Update examples.rst by @james-iohk in #226
- repo name fixup by @silky in #227
- SCP-3096 - Remove wallet proxy by @silky in #217
- Fix errors introduced from previous refactor/reorganisation by @bjing in #228
- Update plutus-contract README by @ak3n in #231
- SCP-3129: Fix minAda related bugs by @sjoerdvisscher in #229
- Bump hls to 1.5.1 #209 by @ak3n in #232
- Fix synchronisation errors. by @raduom in #236
- SCP-3216 psgenerator and PAB compatibility with Marlowe by @bwbush in #234
- Fix the problem with pab-nami-demo psapigenerator #235 by @ak3n in #241
- fix broken links by @silky in #245
- Fix min Ada bug #237. by @sjoerdvisscher in #246
- Update client deps to fix playground by @shlevy in #247
- shell-nix: also fetch cardano-wallet with more comments by @kk-hainq in #255
- Add github test to check for uncommitted updates by @shlevy in #250
- SCP-3272: Additionnal documentation on different ways to setup the PAB. by @koslambrou in #253
New Contributors
Full Changelog: v2021-12-20...v2022-01-17
2021-12-20 PAB Release
2020-12-06 PAB Release Notes
New release! Mostly just a few tidyups and bugfixes; but we're working towards spinning out more of the functionality into independent libraries. Of particular interest is that the chain-index is now available as a library for easier customisability.
We've also included a "Hello world" integration with Nami wallet.
What's Changed
- Update pab-config.yml to work with latest wallet config by @Yasuke in #165
- Raduom/memory leaks by @raduom in #174
- Add raiseMUnderN to freer-extras by @sjoerdvisscher in #175
- Fix mustSatisfyAnyOf logic (fix #101). by @ak3n in #166
- Update issue forms. Added security issue form. by @james-iohk in #183
- [plutus-chain-index]: fix utxo-at-adress beam query (#124). by @ak3n in #185
- SCP-3130: Tx constraint to specify stake stake key hash with payment by @koslambrou in #181
- SCP-3081: chain-index query for transaction history at address by @bwbush in #182
- Write arbitrary instance for data that uses sized by @Yasuke in #178
- Fix some hsobj references by @sjoerdvisscher in #193
- SCP-3127: Chain index as a library by @sjoerdvisscher in #186
- Bump cardano-node and cardano-wallet to 1.32.1. by @ak3n in #202
- Add passphrase to ledger signing api by @Yasuke in #177
- SCP-3069: Hello world demo app integrating Nami wallet with the PAB by @koslambrou in #196
- Update the commands in the plutus-pab README.md by @koslambrou in #203
New Contributors
Full Changelog: v2021-12-06...v2021-12-20
2021-12-06 PAB Release
2020-12-06 PAB Release Notes
New release! Mostly just a few tidyups and bugfixes; but we're working towards spinning out more of the functionality into independent libraries. Of particular interest might be #138 TxConstraints
as it's own library.
What's Changed
- SCP-3064: Fixed failing test case in the Crowdfunding plutus use case by @koslambrou in #131
- chore(deps): bump nixbuild/nix-quick-install-action from 8 to 9 by @dependabot in #133
- SCP-2368: expose partial transactions that need to be balanced, signed and submitted by a remote wallet by @koslambrou in #119
- Add a swagger ui page for chain index endpoints by @kk-hainq in #130
- Update .readthedocs.yml by @jonesnoaht in #142
- Pull out TxConstraints into its own library. by @sjoerdvisscher in #138
- Fix source-repository locations by @sjoerdvisscher in #152
- Add walletPubKey by @jeffhappily in #105
- Coverage checking for ContractModels by @MaximilianAlgehed in #56
- fix broken build by @silky in #158
- SCP-3001: Show chain index syncing progress by @sjoerdvisscher in #127
- Store evaluation with its simulation by @sjoerdvisscher in #155
- Add Ord instance for ThreadToken (fix #157). by @ak3n in #159
- what-have-you-tried by @silky in #162
- Change issue templates to forms by @james-iohk in #163
- Fix missing datums for toCardanoTxBody by @anton-k in #167
- [plutus-use-cases]: fix Coin type in uniswap (fix #169). by @ak3n in #170
- Add mustPayWithDatumToPubKey (fix #146). by @ak3n in #154
New Contributors
- @jonesnoaht made their first contribution in #142
- @jeffhappily made their first contribution in #105
- @anton-k made their first contribution in #167
Full Changelog: v2021-11-22...v2021-12-06
2021-11-22 PAB Release
2020-11-22 PAB Release Notes
A handful of assorted fixes and cleanups, some niceties around the chain index (configuring how much it should save), and how data is stored. Some other changes and fixups around documentation, as well as a change to the outputs of unbalanced transactions.
What's Changed
- PAB: More consistent slot configs by @kk-hainq in #77
- Don't use default slotConfig where this was easily fixable. by @sjoerdvisscher in #89
- chore(deps): bump nixbuild/nix-quick-install-action from 7 to 8 by @dependabot in #96
- Export mustSatisfyAnyOf in Ledger.Constraints (fix #95). by @ak3n in #97
- SCP-2880: Transaction outputs should contain a minimum of 2 Ada. by @koslambrou in #76
- Plutus-use-cases QuickCheck models by @MaximilianAlgehed in #102
- Upgrade node version by @raduom in #94
- Chain Index: users can configure to only store txs from a block no onward by @kk-hainq in #72
- Chain Index: separate scripts and redeemers tables by @kk-hainq in #71
- Update order-book-pattern.rst by @AlexITC in #123
- Add contributing section about working with local copies of deps by @michaelpj in #125
- SCP-2622: Document deployment details. by @shlevy in #126
- SCP-2945: Only script outputs in unbalanced transactions by @sjoerdvisscher in #57
- Contract model sanity check property by @UlfNorell in #114
Full Changelog: v2021-11-05...v2021-11-22