Apr 20, 10-11 AM (95)
Apr 20, 11-12 PM (42)
Apr 20, 12-1 PM (39)
Apr 20, 1-2 PM (53)
Apr 20, 2-3 PM (68)
Apr 20, 3-4 PM (47)
Apr 20, 4-5 PM (41)
Apr 20, 5-6 PM (31)
Apr 20, 6-7 PM (24)
Apr 20, 7-8 PM (10)
Apr 20, 8-9 PM (7)
Apr 20, 9-10 PM (16)
Apr 20, 10-11 PM (28)
Apr 20, 11-12 AM (18)
Apr 21, 12-1 AM (24)
Apr 21, 1-2 AM (5)
Apr 21, 2-3 AM (13)
Apr 21, 3-4 AM (4)
Apr 21, 4-5 AM (3)
Apr 21, 5-6 AM (8)
Apr 21, 6-7 AM (15)
Apr 21, 7-8 AM (44)
Apr 21, 8-9 AM (119)
Apr 21, 9-10 AM (36)
Apr 21, 10-11 AM (35)
Apr 21, 11-12 PM (98)
Apr 21, 12-1 PM (57)
Apr 21, 1-2 PM (71)
Apr 21, 2-3 PM (60)
Apr 21, 3-4 PM (33)
Apr 21, 4-5 PM (31)
Apr 21, 5-6 PM (27)
Apr 21, 6-7 PM (38)
Apr 21, 7-8 PM (35)
Apr 21, 8-9 PM (37)
Apr 21, 9-10 PM (14)
Apr 21, 10-11 PM (34)
Apr 21, 11-12 AM (12)
Apr 22, 12-1 AM (2)
Apr 22, 1-2 AM (3)
Apr 22, 2-3 AM (3)
Apr 22, 3-4 AM (4)
Apr 22, 4-5 AM (3)
Apr 22, 5-6 AM (17)
Apr 22, 6-7 AM (34)
Apr 22, 7-8 AM (21)
Apr 22, 8-9 AM (37)
Apr 22, 9-10 AM (18)
Apr 22, 10-11 AM (47)
Apr 22, 11-12 PM (45)
Apr 22, 12-1 PM (56)
Apr 22, 1-2 PM (64)
Apr 22, 2-3 PM (44)
Apr 22, 3-4 PM (86)
Apr 22, 4-5 PM (46)
Apr 22, 5-6 PM (17)
Apr 22, 6-7 PM (10)
Apr 22, 7-8 PM (18)
Apr 22, 8-9 PM (15)
Apr 22, 9-10 PM (23)
Apr 22, 10-11 PM (31)
Apr 22, 11-12 AM (17)
Apr 23, 12-1 AM (7)
Apr 23, 1-2 AM (4)
Apr 23, 2-3 AM (4)
Apr 23, 3-4 AM (6)
Apr 23, 4-5 AM (3)
Apr 23, 5-6 AM (8)
Apr 23, 6-7 AM (17)
Apr 23, 7-8 AM (26)
Apr 23, 8-9 AM (33)
Apr 23, 9-10 AM (33)
Apr 23, 10-11 AM (29)
Apr 23, 11-12 PM (30)
Apr 23, 12-1 PM (51)
Apr 23, 1-2 PM (69)
Apr 23, 2-3 PM (65)
Apr 23, 3-4 PM (26)
Apr 23, 4-5 PM (21)
Apr 23, 5-6 PM (7)
Apr 23, 6-7 PM (7)
Apr 23, 7-8 PM (11)
Apr 23, 8-9 PM (14)
Apr 23, 9-10 PM (6)
Apr 23, 10-11 PM (28)
Apr 23, 11-12 AM (18)
Apr 24, 12-1 AM (7)
Apr 24, 1-2 AM (4)
Apr 24, 2-3 AM (7)
Apr 24, 3-4 AM (5)
Apr 24, 4-5 AM (8)
Apr 24, 5-6 AM (13)
Apr 24, 6-7 AM (12)
Apr 24, 7-8 AM (33)
Apr 24, 8-9 AM (40)
Apr 24, 9-10 AM (41)
Apr 24, 10-11 AM (72)
Apr 24, 11-12 PM (57)
Apr 24, 12-1 PM (37)
Apr 24, 1-2 PM (57)
Apr 24, 2-3 PM (35)
Apr 24, 3-4 PM (19)
Apr 24, 4-5 PM (16)
Apr 24, 5-6 PM (38)
Apr 24, 6-7 PM (26)
Apr 24, 7-8 PM (12)
Apr 24, 8-9 PM (42)
Apr 24, 9-10 PM (17)
Apr 24, 10-11 PM (30)
Apr 24, 11-12 AM (16)
Apr 25, 12-1 AM (8)
Apr 25, 1-2 AM (1)
Apr 25, 2-3 AM (10)
Apr 25, 3-4 AM (5)
Apr 25, 4-5 AM (3)
Apr 25, 5-6 AM (13)
Apr 25, 6-7 AM (1)
Apr 25, 7-8 AM (4)
Apr 25, 8-9 AM (24)
Apr 25, 9-10 AM (17)
Apr 25, 10-11 AM (4)
Apr 25, 11-12 PM (4)
Apr 25, 12-1 PM (13)
Apr 25, 1-2 PM (3)
Apr 25, 2-3 PM (10)
Apr 25, 3-4 PM (6)
Apr 25, 4-5 PM (10)
Apr 25, 5-6 PM (16)
Apr 25, 6-7 PM (12)
Apr 25, 7-8 PM (30)
Apr 25, 8-9 PM (55)
Apr 25, 9-10 PM (13)
Apr 25, 10-11 PM (20)
Apr 25, 11-12 AM (21)
Apr 26, 12-1 AM (5)
Apr 26, 1-2 AM (0)
Apr 26, 2-3 AM (2)
Apr 26, 3-4 AM (5)
Apr 26, 4-5 AM (2)
Apr 26, 5-6 AM (2)
Apr 26, 6-7 AM (3)
Apr 26, 7-8 AM (8)
Apr 26, 8-9 AM (3)
Apr 26, 9-10 AM (0)
Apr 26, 10-11 AM (2)
Apr 26, 11-12 PM (1)
Apr 26, 12-1 PM (6)
Apr 26, 1-2 PM (4)
Apr 26, 2-3 PM (14)
Apr 26, 3-4 PM (14)
Apr 26, 4-5 PM (0)
Apr 26, 5-6 PM (13)
Apr 26, 6-7 PM (13)
Apr 26, 7-8 PM (7)
Apr 26, 8-9 PM (7)
Apr 26, 9-10 PM (4)
Apr 26, 10-11 PM (26)
Apr 26, 11-12 AM (21)
Apr 27, 12-1 AM (6)
Apr 27, 1-2 AM (7)
Apr 27, 2-3 AM (9)
Apr 27, 3-4 AM (9)
Apr 27, 4-5 AM (5)
Apr 27, 5-6 AM (13)
Apr 27, 6-7 AM (7)
Apr 27, 7-8 AM (40)
Apr 27, 8-9 AM (45)
Apr 27, 9-10 AM (24)
Apr 27, 10-11 AM (0)
3,830 commits this week Apr 20, 2026 - Apr 27, 2026
[Leios prototype] Migrate EB announcement to Praos header (#1978)
Resolves https://github.com/input-output-hk/ouroboros-leios/issues/837

DONE
- [x] Move the EB announcement from the Ledger Block to the Praos Header
- [x] Add `EbAnnouncement` type that holds an `EbHash` and its size!
     - [x] Remove the `certifies` field
  - [x] Move the LeiosState from the Ledger to the ChainDepState
- [x] Adds 'cummulative' EB size tracking in the state (TODO: Grafana
this)
  - [ ] ~~Move the Certificate from the Ledger into Consensus~~
- Ugh for now I'm keeping it in the Ledger because it's easier, albeit
not ideal
   - [x] Update to Ledger with backward compatible Block codec
   - [x] Introduces `ForgeBlockArgs` for my own sanity
- [x] FIX: [EB only diffused if announced in
forge](https://github.com/IntersectMBO/ouroboros-consensus/pull/1978/commits/85aafd4146617fea79f825d989bf1ca5b9dfb6b6)
 
NOTES
- `ResolveLeiosBlock` machinery is a hack that works! We're blindly
guessing that `blk` might contain something that can be resolved like a
LeiosCertificate and it returns a `blk` that hopefully has a fully
resolved `blk` that can be applied. Imo a morally correct approach would
to have `data RankingBlock blk = LedgerRb blk | CertRb LeiosCertificate`
which we can use to make such distinction and manage the resolution
process here and elsewhere in the abstract code base where that
distinction matters (like the ForgeLoop)
- `applyBlock` currently does `resolveLeiosBlock` and then
`tickAndReapply` which is not incorrect as in the case of there being a
Leios Cert, we need to base changes from the associated EB on top of the
`prev` Ledger State (I think that means we shouldn't tick?)
  - see https://github.com/input-output-hk/ouroboros-leios/issues/857
- Apropos `tx-centrifuge` it doesn't seem like there's any way around
breaking the API `BlockFetch`. For the current pragmatic solutions we
hide the `Certificate` behind the `blk` and therefore `BlockFetch` will
happily return you a Certificate which will break `tx-centrifuge`. That
being said, `ChainSync` is also necessarily having a breaking change
since we added new fields to the PraosHeader.
Fix Sqlite performance issues (#2012)
BEGIN IMMEDIATE results in directly locking the transaction for write
access, while BEGIN does defer it to the first write statement. Thus, if
we never do a write, the connection does not get blocked by other
connections and reduces lock contention.

The sql query was very inefficient and also the completion tracking
can't afford to check hashes. Keeping a counter in the database, written
to within the same transaction seemed the best way forward.
testnet: remove asteria-player from cardano_node_master compose (#68)
Unblocks scheduled runs. asteria-player:dev never published —
publish-images skips it ("Tag 'dev' not found in repo"), so
Antithesis fails to pull and every scheduled run since 2026-04-25
came back Incomplete with zero container stdout.

Asteria work continues under #56 / PR #67. Re-add to compose once a
real image tag is published.

Ogmios already absent from main (removed in 7e0f8f5 pending #49).
feat(makefile): refactor Makefile with improved targets, venv support, and help
- Add virtual environment management for all targets
- Organize targets into sections: setup, linting, release, documentation, maintenance, help
- Add clean and clean-all targets for artifact and venv cleanup
- Add install-doc target for documentation dependencies
- Improve documentation build process
- Add self-documenting help target with usage info
- Use consistent variable names and comments
Refactor DijkstraBlockBody to use MemoBytes serialization
Replace the manual segmented-witness serialization with MemoBytes,
which simplifies the code significantly. The block body is now
serialized as a flat 3-element list [invalid_transactions, transactions,
peras_certificate] instead of 5 separate segments.

Also fix PerasCert to encode/decode as bytes (matching CDDL),
reimplement alignedValidFlags using IntSet, and expose
DijkstraBlockBodyRaw/MkDijkstraBlockBody from Internal module.
chore(deps): Bump webiny/action-conventional-commits from 1.3.1 to 1.4.2
Bumps [webiny/action-conventional-commits](https://github.com/webiny/action-conventional-commits) from 1.3.1 to 1.4.2.
- [Release notes](https://github.com/webiny/action-conventional-commits/releases)
- [Commits](https://github.com/webiny/action-conventional-commits/compare/v1.3.1...v1.4.2)

---
updated-dependencies:
- dependency-name: webiny/action-conventional-commits
  dependency-version: 1.4.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>