Jun 16, 12-1 PM (37)
Jun 16, 1-2 PM (49)
Jun 16, 2-3 PM (34)
Jun 16, 3-4 PM (28)
Jun 16, 4-5 PM (37)
Jun 16, 5-6 PM (17)
Jun 16, 6-7 PM (26)
Jun 16, 7-8 PM (9)
Jun 16, 8-9 PM (11)
Jun 16, 9-10 PM (4)
Jun 16, 10-11 PM (31)
Jun 16, 11-12 AM (9)
Jun 17, 12-1 AM (8)
Jun 17, 1-2 AM (8)
Jun 17, 2-3 AM (11)
Jun 17, 3-4 AM (4)
Jun 17, 4-5 AM (1)
Jun 17, 5-6 AM (6)
Jun 17, 6-7 AM (99)
Jun 17, 7-8 AM (33)
Jun 17, 8-9 AM (23)
Jun 17, 9-10 AM (56)
Jun 17, 10-11 AM (18)
Jun 17, 11-12 PM (19)
Jun 17, 12-1 PM (57)
Jun 17, 1-2 PM (28)
Jun 17, 2-3 PM (37)
Jun 17, 3-4 PM (26)
Jun 17, 4-5 PM (19)
Jun 17, 5-6 PM (16)
Jun 17, 6-7 PM (10)
Jun 17, 7-8 PM (14)
Jun 17, 8-9 PM (12)
Jun 17, 9-10 PM (37)
Jun 17, 10-11 PM (29)
Jun 17, 11-12 AM (14)
Jun 18, 12-1 AM (12)
Jun 18, 1-2 AM (8)
Jun 18, 2-3 AM (5)
Jun 18, 3-4 AM (11)
Jun 18, 4-5 AM (11)
Jun 18, 5-6 AM (11)
Jun 18, 6-7 AM (10)
Jun 18, 7-8 AM (20)
Jun 18, 8-9 AM (83)
Jun 18, 9-10 AM (45)
Jun 18, 10-11 AM (51)
Jun 18, 11-12 PM (23)
Jun 18, 12-1 PM (67)
Jun 18, 1-2 PM (14)
Jun 18, 2-3 PM (53)
Jun 18, 3-4 PM (44)
Jun 18, 4-5 PM (64)
Jun 18, 5-6 PM (24)
Jun 18, 6-7 PM (21)
Jun 18, 7-8 PM (13)
Jun 18, 8-9 PM (17)
Jun 18, 9-10 PM (23)
Jun 18, 10-11 PM (30)
Jun 18, 11-12 AM (26)
Jun 19, 12-1 AM (13)
Jun 19, 1-2 AM (9)
Jun 19, 2-3 AM (5)
Jun 19, 3-4 AM (2)
Jun 19, 4-5 AM (11)
Jun 19, 5-6 AM (4)
Jun 19, 6-7 AM (92)
Jun 19, 7-8 AM (18)
Jun 19, 8-9 AM (38)
Jun 19, 9-10 AM (39)
Jun 19, 10-11 AM (27)
Jun 19, 11-12 PM (30)
Jun 19, 12-1 PM (53)
Jun 19, 1-2 PM (66)
Jun 19, 2-3 PM (32)
Jun 19, 3-4 PM (61)
Jun 19, 4-5 PM (9)
Jun 19, 5-6 PM (4)
Jun 19, 6-7 PM (17)
Jun 19, 7-8 PM (16)
Jun 19, 8-9 PM (11)
Jun 19, 9-10 PM (45)
Jun 19, 10-11 PM (30)
Jun 19, 11-12 AM (8)
Jun 20, 12-1 AM (4)
Jun 20, 1-2 AM (0)
Jun 20, 2-3 AM (4)
Jun 20, 3-4 AM (1)
Jun 20, 4-5 AM (8)
Jun 20, 5-6 AM (6)
Jun 20, 6-7 AM (6)
Jun 20, 7-8 AM (6)
Jun 20, 8-9 AM (2)
Jun 20, 9-10 AM (2)
Jun 20, 10-11 AM (0)
Jun 20, 11-12 PM (2)
Jun 20, 12-1 PM (7)
Jun 20, 1-2 PM (1)
Jun 20, 2-3 PM (9)
Jun 20, 3-4 PM (11)
Jun 20, 4-5 PM (1)
Jun 20, 5-6 PM (0)
Jun 20, 6-7 PM (2)
Jun 20, 7-8 PM (8)
Jun 20, 8-9 PM (7)
Jun 20, 9-10 PM (0)
Jun 20, 10-11 PM (17)
Jun 20, 11-12 AM (5)
Jun 21, 12-1 AM (14)
Jun 21, 1-2 AM (0)
Jun 21, 2-3 AM (1)
Jun 21, 3-4 AM (0)
Jun 21, 4-5 AM (1)
Jun 21, 5-6 AM (0)
Jun 21, 6-7 AM (9)
Jun 21, 7-8 AM (1)
Jun 21, 8-9 AM (2)
Jun 21, 9-10 AM (2)
Jun 21, 10-11 AM (1)
Jun 21, 11-12 PM (2)
Jun 21, 12-1 PM (0)
Jun 21, 1-2 PM (17)
Jun 21, 2-3 PM (4)
Jun 21, 3-4 PM (10)
Jun 21, 4-5 PM (4)
Jun 21, 5-6 PM (8)
Jun 21, 6-7 PM (7)
Jun 21, 7-8 PM (19)
Jun 21, 8-9 PM (0)
Jun 21, 9-10 PM (1)
Jun 21, 10-11 PM (15)
Jun 21, 11-12 AM (15)
Jun 22, 12-1 AM (12)
Jun 22, 1-2 AM (6)
Jun 22, 2-3 AM (9)
Jun 22, 3-4 AM (4)
Jun 22, 4-5 AM (2)
Jun 22, 5-6 AM (29)
Jun 22, 6-7 AM (17)
Jun 22, 7-8 AM (49)
Jun 22, 8-9 AM (90)
Jun 22, 9-10 AM (53)
Jun 22, 10-11 AM (64)
Jun 22, 11-12 PM (74)
Jun 22, 12-1 PM (47)
Jun 22, 1-2 PM (56)
Jun 22, 2-3 PM (119)
Jun 22, 3-4 PM (46)
Jun 22, 4-5 PM (49)
Jun 22, 5-6 PM (29)
Jun 22, 6-7 PM (33)
Jun 22, 7-8 PM (13)
Jun 22, 8-9 PM (13)
Jun 22, 9-10 PM (11)
Jun 22, 10-11 PM (32)
Jun 22, 11-12 AM (36)
Jun 23, 12-1 AM (18)
Jun 23, 1-2 AM (18)
Jun 23, 2-3 AM (23)
Jun 23, 3-4 AM (11)
Jun 23, 4-5 AM (13)
Jun 23, 5-6 AM (30)
Jun 23, 6-7 AM (27)
Jun 23, 7-8 AM (33)
Jun 23, 8-9 AM (28)
Jun 23, 9-10 AM (38)
Jun 23, 10-11 AM (60)
Jun 23, 11-12 PM (37)
Jun 23, 12-1 PM (4)
3,651 commits this week
Jun 16, 2026
-
Jun 23, 2026
Revised cardano-node-10.6.1: add optparse-applicative-fork < 0.19 upper bound
Added optparse-applicative-fork-0.19.0.0
From https://github.com/input-output-hk/optparse-applicative at db68415
Merge pull request #135 from IntersectMBO/lowercase_unexported_args
refactor(scripts): rename ARGS to args in cardano-node launch scripts
Merge pull request #958 from hadelive/fix/ledger-lock-error-769
fix(amaru): improve ledger lock startup error
Add `genPulsingSnapshot` and new testlib module `DRepPulsingState`
Add `uniformSubList`
Add `perturbMap` and `perturbSeq`
refactor(scripts): rename ARGS to args in cardano-node launch scripts
chore: adjust CHANGELOG entry.
Signed-off-by: KtorZ <[email protected]>
chore: declare context with error instead of manually patching it afterwards.
Signed-off-by: KtorZ <[email protected]>
Generate suggested recovery phrase with the system CSPRNG (#5298)
The personal wallet UI recovery-phrase suggestion (`pickMnemonic`) now draws entropy from `Cardano.Mnemonic.genEntropy`, matching how the wallet API and CLI generate recovery phrases. The handler type `pickMnemonic :: Int -> Maybe Bool -> IO (Maybe [Text])` is unchanged, so the New Wallet "Hint" button behaviour is the same.
Artifacts generated from 062a81e8866d8d3dc1d38f1f972e14d801c58c46
Minor rewording on hero banner
This reduces repetition in wording
Remove Conformance.Epoch.Properties from mkdocs nav
Merge pull request #460 from blockfrost/feat/scripts-script-hash-utxos
feat: add /scripts/{script_hash}/utxos endpoint
fix: drop nullable from reference_script_hash in /scripts/{script_hash}/utxos
The endpoint only returns UTXOs that hold the queried script as a reference script, so the field always equals the queried hash and cannot be null. It is also already in the required list. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
chore: use proper types over strings for ledger open errors.
Signed-off-by: KtorZ <[email protected]>
fix: improve ledger lock startup error
Signed-off-by: hade <[email protected]>
fix(midnight): add Midnight.AuthTokenPolicyID
Signed-off-by: cryptodj413 <[email protected]>
db-synthesizer: eject Layer 2 (config/credential machinery) downstream
With the config parsing now handled by cardano-config and synthesize taking a ready-made ProtocolInfo, db-synthesizer no longer needs the vendored node/api machinery in-repo. Remove it entirely: - 'initialize' and its adapters (the genesis/credential reading and protocol assembly) leave; they belong downstream, built on cardano-api. - Delete the vendored Cardano.Api.*, Cardano.Node.Protocol.* and Cardano.Node.Types modules (no remaining consumers), and prune the now-unused build-depends (base16-bytestring, cardano-crypto, transformers-except). - Trim DBSynthesizer.Types to the node/api-free option types. The tools-test integration test becomes synthesis-only: it builds a forging-capable protocol via the testlib (new mkSimpleTestProtocolInfoForging, which also returns the block forgers and genesis) instead of a node configuration file, and forges within the testlib's KES validity window. The config-driven synthesise -> immutalise -> analyse pipeline (and the executable) move downstream. Drop the now-unused config fixtures. All tool executables, cardano-test and tools-test still build and pass.
db-synthesizer: synthesize takes a ready-made ProtocolInfo; drop executable
Reshape 'synthesize' to accept the (ProtocolInfo, block-forgers) pair produced by 'protocolInfoCardano', plus the forge options, epoch size and ChainDB directory directly. Constructing the protocol from a node configuration is now the caller's responsibility, so 'synthesize' no longer touches CardanoProtocolParams or the configuration filesystem. Also remove the standalone db-synthesizer executable (app + CLI parser + cabal stanza); it will be provided downstream. The tools-test integration test now builds the protocol itself (initialize + protocolInfoCardano) and still exercises the full synthesise -> immutalise -> analyse pipeline. No behavioural change; tools-test still passes.
db-synthesizer: parse node config via cardano-config
Replace db-synthesizer's locally-implemented config parser with the shared cardano-config package. 'initialize' now parses the node config with cardano-config and adapts it into the Node*ProtocolConfiguration records that mkConsensusProtocolCardano consumes: byron-era settings, genesis file paths (including Dijkstra via the testing config's experimental genesis) and the hard-fork triggers. Removes the local parser entirely: the NodeConfigStub type, the FromJSON/AdjustFilePaths orphan instances (Orphans.hs) and the confConfigStub field. Forging credentials still come from the tool's own CLI NodeCredentials; the byron software version is hard-coded, mirroring the node, since cardano-config does not model it. tools-test still passes (synthesise -> immutalise -> analyse).
db-analyser: parse node config via cardano-config
Replace db-analyser's locally-implemented CardanoConfig JSON parser with the shared cardano-config package. The genesis file paths, byron network magic, genesis hashes and hard-fork triggers are now read from cardano-config's NodeConfigurationFromFile, with small boundary conversions for the hash/network-magic representations. db-immutaliser reuses this path via CardanoBlockArgs, so it migrates too. No behavioural change: the tools-test integration test (synthesise -> immutalise -> analyse) still passes with matching block counts.