WIP: workflow to build binaries and docker images
May 27, 10-11 AM (83)
May 27, 11-12 PM (30)
May 27, 12-1 PM (50)
May 27, 1-2 PM (39)
May 27, 2-3 PM (53)
May 27, 3-4 PM (37)
May 27, 4-5 PM (11)
May 27, 5-6 PM (18)
May 27, 6-7 PM (21)
May 27, 7-8 PM (25)
May 27, 8-9 PM (19)
May 27, 9-10 PM (15)
May 27, 10-11 PM (29)
May 27, 11-12 AM (27)
May 28, 12-1 AM (9)
May 28, 1-2 AM (3)
May 28, 2-3 AM (5)
May 28, 3-4 AM (2)
May 28, 4-5 AM (9)
May 28, 5-6 AM (34)
May 28, 6-7 AM (31)
May 28, 7-8 AM (84)
May 28, 8-9 AM (33)
May 28, 9-10 AM (54)
May 28, 10-11 AM (50)
May 28, 11-12 PM (21)
May 28, 12-1 PM (47)
May 28, 1-2 PM (50)
May 28, 2-3 PM (23)
May 28, 3-4 PM (43)
May 28, 4-5 PM (86)
May 28, 5-6 PM (13)
May 28, 6-7 PM (31)
May 28, 7-8 PM (43)
May 28, 8-9 PM (34)
May 28, 9-10 PM (17)
May 28, 10-11 PM (36)
May 28, 11-12 AM (32)
May 29, 12-1 AM (12)
May 29, 1-2 AM (13)
May 29, 2-3 AM (4)
May 29, 3-4 AM (3)
May 29, 4-5 AM (0)
May 29, 5-6 AM (2)
May 29, 6-7 AM (5)
May 29, 7-8 AM (16)
May 29, 8-9 AM (37)
May 29, 9-10 AM (34)
May 29, 10-11 AM (69)
May 29, 11-12 PM (25)
May 29, 12-1 PM (44)
May 29, 1-2 PM (66)
May 29, 2-3 PM (61)
May 29, 3-4 PM (26)
May 29, 4-5 PM (26)
May 29, 5-6 PM (83)
May 29, 6-7 PM (11)
May 29, 7-8 PM (19)
May 29, 8-9 PM (15)
May 29, 9-10 PM (9)
May 29, 10-11 PM (27)
May 29, 11-12 AM (7)
May 30, 12-1 AM (9)
May 30, 1-2 AM (2)
May 30, 2-3 AM (1)
May 30, 3-4 AM (7)
May 30, 4-5 AM (2)
May 30, 5-6 AM (11)
May 30, 6-7 AM (0)
May 30, 7-8 AM (2)
May 30, 8-9 AM (11)
May 30, 9-10 AM (13)
May 30, 10-11 AM (10)
May 30, 11-12 PM (5)
May 30, 12-1 PM (8)
May 30, 1-2 PM (5)
May 30, 2-3 PM (18)
May 30, 3-4 PM (5)
May 30, 4-5 PM (1)
May 30, 5-6 PM (9)
May 30, 6-7 PM (9)
May 30, 7-8 PM (1)
May 30, 8-9 PM (5)
May 30, 9-10 PM (4)
May 30, 10-11 PM (27)
May 30, 11-12 AM (12)
May 31, 12-1 AM (17)
May 31, 1-2 AM (0)
May 31, 2-3 AM (1)
May 31, 3-4 AM (1)
May 31, 4-5 AM (0)
May 31, 5-6 AM (0)
May 31, 6-7 AM (7)
May 31, 7-8 AM (4)
May 31, 8-9 AM (10)
May 31, 9-10 AM (3)
May 31, 10-11 AM (4)
May 31, 11-12 PM (4)
May 31, 12-1 PM (1)
May 31, 1-2 PM (2)
May 31, 2-3 PM (24)
May 31, 3-4 PM (16)
May 31, 4-5 PM (2)
May 31, 5-6 PM (1)
May 31, 6-7 PM (2)
May 31, 7-8 PM (2)
May 31, 8-9 PM (2)
May 31, 9-10 PM (7)
May 31, 10-11 PM (25)
May 31, 11-12 AM (11)
Jun 01, 12-1 AM (14)
Jun 01, 1-2 AM (7)
Jun 01, 2-3 AM (3)
Jun 01, 3-4 AM (10)
Jun 01, 4-5 AM (13)
Jun 01, 5-6 AM (16)
Jun 01, 6-7 AM (10)
Jun 01, 7-8 AM (14)
Jun 01, 8-9 AM (46)
Jun 01, 9-10 AM (50)
Jun 01, 10-11 AM (19)
Jun 01, 11-12 PM (27)
Jun 01, 12-1 PM (49)
Jun 01, 1-2 PM (40)
Jun 01, 2-3 PM (44)
Jun 01, 3-4 PM (34)
Jun 01, 4-5 PM (54)
Jun 01, 5-6 PM (5)
Jun 01, 6-7 PM (32)
Jun 01, 7-8 PM (37)
Jun 01, 8-9 PM (9)
Jun 01, 9-10 PM (12)
Jun 01, 10-11 PM (30)
Jun 01, 11-12 AM (22)
Jun 02, 12-1 AM (13)
Jun 02, 1-2 AM (8)
Jun 02, 2-3 AM (5)
Jun 02, 3-4 AM (14)
Jun 02, 4-5 AM (10)
Jun 02, 5-6 AM (43)
Jun 02, 6-7 AM (32)
Jun 02, 7-8 AM (58)
Jun 02, 8-9 AM (65)
Jun 02, 9-10 AM (28)
Jun 02, 10-11 AM (19)
Jun 02, 11-12 PM (15)
Jun 02, 12-1 PM (47)
Jun 02, 1-2 PM (66)
Jun 02, 2-3 PM (97)
Jun 02, 3-4 PM (23)
Jun 02, 4-5 PM (15)
Jun 02, 5-6 PM (27)
Jun 02, 6-7 PM (29)
Jun 02, 7-8 PM (17)
Jun 02, 8-9 PM (9)
Jun 02, 9-10 PM (19)
Jun 02, 10-11 PM (33)
Jun 02, 11-12 AM (22)
Jun 03, 12-1 AM (13)
Jun 03, 1-2 AM (31)
Jun 03, 2-3 AM (16)
Jun 03, 3-4 AM (0)
Jun 03, 4-5 AM (7)
Jun 03, 5-6 AM (12)
Jun 03, 6-7 AM (79)
Jun 03, 7-8 AM (10)
Jun 03, 8-9 AM (19)
Jun 03, 9-10 AM (16)
Jun 03, 10-11 AM (4)
3,681 commits this week
May 27, 2026
-
Jun 03, 2026
v2: scope constraints to the depends closure, not the whole store
The build-time cabal.project pulled version pins from too many places: a slice's whole `transitive-deps` closure (an over-broad bare `==<ver>` pin added to cover test/bench components) plus build-tool `exe-depends` lib closures. When a boot library is reinstalled at the *same* version (e.g. `text-2.1.4` boot `-inplace` vs a reinstalled `txt-2.1.4-<hash>`), a bare `text ==2.1.4` pin can't disambiguate the two units, so cabal splits lib deps between them and every dependent UnitId drifts (`checkAgainstPlan` fails for js-template-haskell on ghcjs / wasm / the profiled native variants). Treat each dependency kind distinctly at build time: * depends -> source (repo) + `<dep> ==<ver>, <dep> source` * setup-depends-> source (repo) + `<pkg>:setup.<dep> ==<ver>` * exe-depends -> source only (no constraints) Constraints now come only from the *complete* library-`depends` closure (`dependsSlices` = directDepSlices ++ home library deps ++ the package's own library for non-lib components) and per-package setup-constraints. The `source` qualifier on every reinstalled lib forces cabal off the GHC-bundled `-inplace` unit even when versions match. Source + the six per-package block groups keep riding the existing `transitive-deps` closure (already free of pkgsBuildBuild tool slices after the previous commit). Removed: the blkFrags whole-closure version pin and the exe-depends contribution to the constraints scope. Skip the self pkg-name when emitting extra-packages/constraints (its own library can now enter the depends walk via `ownLibSlice`; also listing the local target as a repo package triggers cabal's target-matcher ambiguity, Cabal-7130). Verified green: native + ghcjs js-template-haskell.check and the aarch64-android iserv-proxy-interpreter.
fix: /pools/:pool_id owners
Update blog/2026-06-03-mithril.md
Co-authored-by: olgahryniuk <[email protected]>
chore: bump version
fix: /pools/pool_id now reflects the currently active registration
WIP: workflow to build binaries and docker images
Merge pull request #930 from input-output-hk/ch1bo/leios-testnet
Node config and script for the Leios testnet
fix: raise default heap to 4g (2g OOMs at mainnet scale)
A full mainnet sync to tip (~317k handles, ~14.7M ada_handle_history_item rows) exhausted the 2g heap with recurring OutOfMemoryError, wedging the HTTP server while the indexer thread limped on. 4g runs comfortably (steady-state heap ~650MB) and the REST API stays responsive at tip. Surfaced by the mainnet full-sync integration-test harness. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
:card_file_box: Update status summary [skip ci] [upptime]
:pencil: Update summary in README [skip ci] [upptime]
🟥 API (Batch) is down (0 in 0 ms) [skip ci] [upptime]
🟥 API (Specific property) is down (0 in 0 ms) [skip ci] [upptime]
🟥 API (All properties) is down (0 in 0 ms) [skip ci] [upptime]
Take cardano-cli from latest prototype
Also re-organize flake inputs to be more clear which is used for what.
WIP: workflow to build binaries and docker images
Working on ledger/header Peras-related state API and implem
praos: heal non-contiguous candidate chains instead of looping on orphan
A passive follower could wedge permanently once at the live tip: after a deep rollback the peer re-announces its chain, but our cached copy has a gap (the peer fragment skipped a header, and that gap block was never fetched because it never appeared in `missing` — it isn't in the fragment). `select_chain` then classified the strictly-better candidate as a non-contiguous / fork-mismatch orphan, cleared the fragment, and requested re-intersection — which the peer answers by rolling back to our tip and re-announcing, looping ~1.4x/s with the tip frozen. Primary fix (gap-fill): when a strictly-better candidate's cached chain is non-contiguous, fetch the contiguous range [common ancestor -> candidate tip] from the announcing peer instead of giving up. A range request needs only the two endpoints; the peer streams every intermediate block, healing the gap so a later pass switches. Genesis-rooted ancestors still fall back to the orphan verdict (can't anchor a range at Origin). Secondary safety net (fork-tip prune): the periodic gap-bridge could also fixate on an abandoned fork tip left far ahead in chain_tree after the rollback — no connected peer offers it, so the bridge re-issued a peerless (peer_count=0) no-op fetch forever. `ChainTree::remove_fork_tip` drops such an unreachable best_tip and recomputes best_tip; retry_select_chain prunes rather than emit a peerless fetch. Tests: select_chain_heals_noncontiguous_cached_candidate_via_range_fetch and retry_prunes_unreachable_best_tip_instead_of_peerless_fetch (both verified to fail without the respective change). 300 pass. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Update casing-constants.md
Fix order of arguments in user guide example
fix: update changelog - ipv6 and metrics
chore: bump open api to reflect new changes
Review remarks