Releases: scalus3/scalus
Releases · scalus3/scalus
v0.15.1
Release Notes
Added
- Merkle Patricia Forestry data structure for on-chain Merkle proofs
- variadic
logfunction with auto-show for trace diagnostics offsetOf[A]compile-time macro for case class field indicesBuiltinListpattern matching and optional Nil branch inCaseList(con value ...)syntax support in UPLC parser/printerFuture/Scenarioconversion andEmulatorBaseAPI
Changed
- simplified
ScenarioandContractScalaCheckCommandsAPIs - updated MaryEraValue builtin cost models to match Plutus 1.58.0.0 reference
- extracted dependency versions into build.sbt variables and bumped dependencies
Fixed
- count native reference scripts towards minFee calculation
- use
Timelock.toCborfor native ref script size instead ofCbor.encode(Script) - account for sponsor VKey witness in fee estimation
- handle exceptions in
Scenariomonad and filter extra VKey witnesses inTxBuilder.sign - filter auction UTxO by NFT asset to prevent spam UTxO attacks
- fix MaryEraValue builtins and pool retirement validation
Documentation
- Documentation: https://scalus.org/docs
- Getting started: https://scalus.org/docs/get-started
Contributors
![]() @nau |
![]() @rssh |
![]() @sae3023 |
v0.15.0
Release Notes
Added
- all new builtins for protocol version 11 hard fork
- JavaScript Emulator support for cross-platform testing
- HD wallet implementation with BIP-39 mnemonic, BIP32-Ed25519 key derivation, and CIP-1852 account
- Conway era ledger state rules:
DELEGandPOOLtransitions for stake delegation and pool
registration management TxBuilder.draftmethod for unbalanced transaction assemblytxBuilderfunction withCardanoInfocontext parameter- type-safe
UtxoQueryDSL with parallel execution and rate limiting for UTxO queries Transaction.scriptContextsextension method for easier script context accessMaryEraValuesupport (CIP-0153)expModIntegerbuiltin (CIP-109) for modular exponentiationbls12_381_G1_multiScalarMulandbls12_381_G2_multiScalarMulbuiltins (CIP-0109)g1andg2string interpolators for BLS12-381 elements- use
dropListfor case class field selection at index >= 2 on PlutusV4 Prettytypeclass with automatic derivation for ADTs and Cardano ledger typesEq.derivedfor automatic equality typeclass derivation- design patterns documentation: Merkelized Validators, Parameter Validation, OptimizedPaymentSplitter
- Crowdfunding, English Auction, Lottery, and PriceBet smart contract examples
- multi-environment integration testing infrastructure with Yaci DevKit consolidation
- comprehensive
scalus-testkitAPI withEvalTestKitandScalusTestbase classes Outputtype alias forTransactionOutputfetchScriptmethod to retrieve scripts from Blockfrost- 5 ADA threshold for collateral return optimization
Changed
- reorganized package structure -
scalus.builtintypes andscalus.preludemoved to new locations CompileandIgnoreannotations moved toscalus.compilerpackageValidatortraits moved frompreludetov3packageProviderdeprecated in favor ofBlockchainProvider- simplified
BlockfrostProviderAPI with platform-specific backends - BLS12-381 classes moved to
scalus.uplc.builtin.bls12_381package with shorter names - optimized
toDatafor constantByteString,String,Boolean, andIntegervalues - optimized
mkNilDatabuiltin to constant - optimized
Eq.derivedto use direct field access - improved PlutusV3 match lowering to reduce script size
- renamed
__z_combinatorto__Z - deprecated
Contracttrait - removed deprecated code from 0.12.x
Fixed
- suppress false warnings for type tests on enum variants
- handle inline accessors in compiler plugin
- ensure error messages appear in UPLC traces
ByteStringnow extendsSerializable- security improvements for example validators: AuctionValidator, BettingValidator, Crowdfunding,
VaultValidator, VestingValidator - use Conway-style certificates for script-based stake registration
- platform-specific
modPowfor Scala.js and Scala Native compatibility
Documentation
- Documentation: https://scalus.org/docs
- Getting started: https://scalus.org/docs/get-started
Contributors
![]() @nau |
![]() @rssh |
![]() @sae3023 |
![]() @roman-hulenko |
![]() @sergey-scherbina |
![]() @fernweh0 |
Integration tests data
Data files for integration tests





