Use fixed-length encoding in ShelleyLedgerState CBOR instances
Feb 12, 8-9 AM (22)
Feb 12, 9-10 AM (22)
Feb 12, 10-11 AM (46)
Feb 12, 11-12 PM (28)
Feb 12, 12-1 PM (40)
Feb 12, 1-2 PM (63)
Feb 12, 2-3 PM (80)
Feb 12, 3-4 PM (39)
Feb 12, 4-5 PM (49)
Feb 12, 5-6 PM (82)
Feb 12, 6-7 PM (32)
Feb 12, 7-8 PM (30)
Feb 12, 8-9 PM (20)
Feb 12, 9-10 PM (31)
Feb 12, 10-11 PM (50)
Feb 12, 11-12 AM (29)
Feb 13, 12-1 AM (9)
Feb 13, 1-2 AM (9)
Feb 13, 2-3 AM (15)
Feb 13, 3-4 AM (6)
Feb 13, 4-5 AM (5)
Feb 13, 5-6 AM (29)
Feb 13, 6-7 AM (34)
Feb 13, 7-8 AM (31)
Feb 13, 8-9 AM (39)
Feb 13, 9-10 AM (73)
Feb 13, 10-11 AM (73)
Feb 13, 11-12 PM (43)
Feb 13, 12-1 PM (52)
Feb 13, 1-2 PM (59)
Feb 13, 2-3 PM (49)
Feb 13, 3-4 PM (27)
Feb 13, 4-5 PM (27)
Feb 13, 5-6 PM (27)
Feb 13, 6-7 PM (28)
Feb 13, 7-8 PM (24)
Feb 13, 8-9 PM (18)
Feb 13, 9-10 PM (16)
Feb 13, 10-11 PM (28)
Feb 13, 11-12 AM (21)
Feb 14, 12-1 AM (33)
Feb 14, 1-2 AM (9)
Feb 14, 2-3 AM (12)
Feb 14, 3-4 AM (15)
Feb 14, 4-5 AM (30)
Feb 14, 5-6 AM (3)
Feb 14, 6-7 AM (0)
Feb 14, 7-8 AM (5)
Feb 14, 8-9 AM (3)
Feb 14, 9-10 AM (16)
Feb 14, 10-11 AM (17)
Feb 14, 11-12 PM (5)
Feb 14, 12-1 PM (18)
Feb 14, 1-2 PM (14)
Feb 14, 2-3 PM (11)
Feb 14, 3-4 PM (6)
Feb 14, 4-5 PM (18)
Feb 14, 5-6 PM (28)
Feb 14, 6-7 PM (16)
Feb 14, 7-8 PM (5)
Feb 14, 8-9 PM (5)
Feb 14, 9-10 PM (7)
Feb 14, 10-11 PM (23)
Feb 14, 11-12 AM (26)
Feb 15, 12-1 AM (7)
Feb 15, 1-2 AM (4)
Feb 15, 2-3 AM (7)
Feb 15, 3-4 AM (1)
Feb 15, 4-5 AM (1)
Feb 15, 5-6 AM (0)
Feb 15, 6-7 AM (2)
Feb 15, 7-8 AM (1)
Feb 15, 8-9 AM (5)
Feb 15, 9-10 AM (3)
Feb 15, 10-11 AM (2)
Feb 15, 11-12 PM (12)
Feb 15, 12-1 PM (27)
Feb 15, 1-2 PM (6)
Feb 15, 2-3 PM (9)
Feb 15, 3-4 PM (15)
Feb 15, 4-5 PM (6)
Feb 15, 5-6 PM (8)
Feb 15, 6-7 PM (3)
Feb 15, 7-8 PM (20)
Feb 15, 8-9 PM (6)
Feb 15, 9-10 PM (10)
Feb 15, 10-11 PM (21)
Feb 15, 11-12 AM (23)
Feb 16, 12-1 AM (2)
Feb 16, 1-2 AM (8)
Feb 16, 2-3 AM (15)
Feb 16, 3-4 AM (6)
Feb 16, 4-5 AM (1)
Feb 16, 5-6 AM (6)
Feb 16, 6-7 AM (2)
Feb 16, 7-8 AM (14)
Feb 16, 8-9 AM (33)
Feb 16, 9-10 AM (70)
Feb 16, 10-11 AM (52)
Feb 16, 11-12 PM (50)
Feb 16, 12-1 PM (71)
Feb 16, 1-2 PM (91)
Feb 16, 2-3 PM (64)
Feb 16, 3-4 PM (34)
Feb 16, 4-5 PM (30)
Feb 16, 5-6 PM (29)
Feb 16, 6-7 PM (24)
Feb 16, 7-8 PM (22)
Feb 16, 8-9 PM (8)
Feb 16, 9-10 PM (21)
Feb 16, 10-11 PM (31)
Feb 16, 11-12 AM (32)
Feb 17, 12-1 AM (22)
Feb 17, 1-2 AM (3)
Feb 17, 2-3 AM (8)
Feb 17, 3-4 AM (2)
Feb 17, 4-5 AM (4)
Feb 17, 5-6 AM (8)
Feb 17, 6-7 AM (7)
Feb 17, 7-8 AM (17)
Feb 17, 8-9 AM (38)
Feb 17, 9-10 AM (87)
Feb 17, 10-11 AM (36)
Feb 17, 11-12 PM (38)
Feb 17, 12-1 PM (79)
Feb 17, 1-2 PM (39)
Feb 17, 2-3 PM (50)
Feb 17, 3-4 PM (60)
Feb 17, 4-5 PM (42)
Feb 17, 5-6 PM (30)
Feb 17, 6-7 PM (19)
Feb 17, 7-8 PM (13)
Feb 17, 8-9 PM (23)
Feb 17, 9-10 PM (11)
Feb 17, 10-11 PM (59)
Feb 17, 11-12 AM (44)
Feb 18, 12-1 AM (21)
Feb 18, 1-2 AM (13)
Feb 18, 2-3 AM (16)
Feb 18, 3-4 AM (18)
Feb 18, 4-5 AM (16)
Feb 18, 5-6 AM (15)
Feb 18, 6-7 AM (19)
Feb 18, 7-8 AM (53)
Feb 18, 8-9 AM (93)
Feb 18, 9-10 AM (35)
Feb 18, 10-11 AM (36)
Feb 18, 11-12 PM (62)
Feb 18, 12-1 PM (41)
Feb 18, 1-2 PM (113)
Feb 18, 2-3 PM (61)
Feb 18, 3-4 PM (36)
Feb 18, 4-5 PM (16)
Feb 18, 5-6 PM (40)
Feb 18, 6-7 PM (30)
Feb 18, 7-8 PM (35)
Feb 18, 8-9 PM (47)
Feb 18, 9-10 PM (31)
Feb 18, 10-11 PM (44)
Feb 18, 11-12 AM (23)
Feb 19, 12-1 AM (14)
Feb 19, 1-2 AM (6)
Feb 19, 2-3 AM (6)
Feb 19, 3-4 AM (3)
Feb 19, 4-5 AM (3)
Feb 19, 5-6 AM (3)
Feb 19, 6-7 AM (14)
Feb 19, 7-8 AM (79)
Feb 19, 8-9 AM (23)
4,434 commits this week
Feb 12, 2026
-
Feb 19, 2026
Avoid orphan LedgerSupportsPeras instance for Shelley ledger state
Avoid orphan LedgerSupportsPerasInstance for HardFork combinator
Extend cddl with latestPerasCertRound
Use latest leios-prototype branches
Detect missing script
Signed-off-by: Sasha Bogicevic <[email protected]>
Fix postgresql-musl: merge dev into out to eliminate dev↔lib cycle
The postgresql musl cross-build fails with: error: cycle detected in build of '...-postgresql-musl-17.7.drv' in the references of output 'dev' from output 'lib' The lib output (shared libraries) contains baked-in references to the dev output path, while dev naturally references lib. The remove-references-to approach didn't resolve it (references may be in ELF sections or .rodata that survive stripping). Instead, merge dev into out by removing "dev" from outputs. When "dev" is absent from outputs, $dev defaults to $out, so headers and pkgconfig files end up in $out. Downstream packages using postgresql.dev get postgresql.out (default output for missing output names). This eliminates the cycle entirely.
Bump o-c srp to latest leios-prototype
refactor(client-cli): use format out based on utxo hd flavor command argument for the snapshotconverter
Add debug output to postgresql postFixup for cycle investigation
Need to understand why remove-references-to isn't preventing the dev↔lib reference cycle. Adding verbose output to show: - Which files exist in the lib output - Which files reference the dev hash before/after stripping
Add more information to LeiosDbException
Fixing transaction in transaction errors
This is only a temporary hack and we should have a Connection per thread (or one writer and multiple reader connections).
Drop unused ebPoints field from LeiosOutstanding
Merge LeiosEbBodies and LeiosOutstanding state
They have been mostly used together and this removes one more moving piece (an MVar)
Query missing ebs/closure from db and filter them in fetch logic
Invert filters to only return missing bodies/txs
Keep a note about duplicate EBs being fetched
This is a good starting point to make the fetch logic aware of EBs produced by the forge loop.
Not decode LeiosTx when serving
This requires wrapping the already encoded CBOR (which is assumed to be held in LeiosTx) in a CBOR byte string to also allow decoding without assuming the structure of the 'Tx era' encoding.
Store whole closure when forging an Eb
Add a new type for a Leios EB with its closure. This is currently only needed when forging, thus the name.
Leios prototype: Separate tx storage from EB bodies (#1874)
### Why
The `LeiosDemoDb` previously conflated two concerns: an **EB store** and
a **tx cache**. Transaction bytes were stored denormalized — once in
`ebTxs` (per EB reference) and again in `txCache`. This required:
- A **background copy thread** (`doCacheCopy`) running every 50ms to
copy bytes from `txCache` into `ebTxs`
- Tracking state for the copy pipeline (`toCopy`, `toCopyBytesSize`,
`toCopyCount`, `cachedTxs`) in `LeiosOutstanding`
- Race handling between peer-delivered txs and the copy thread
(`beatToCopy`)
- Duplicate byte storage in the DB
We likely will re-introduce a `TxCache` component later, but the
responsibility of that component will be to expand the scope of "known
txs" and be also fed by the mempool. See also the tentative architecture
diagram in the l[eios-design
document](https://github.com/input-output-hk/ouroboros-leios/blob/main/docs/leios-design/README.md#architecture):
https://raw.githubusercontent.com/input-output-hk/ouroboros-leios/refs/heads/main/docs/leios-design/relay-leios-component-diagram.svg
### What
Normalize the schema into a clean relational model. Transaction bytes
are stored **once** in a `txs` table and JOINed at retrieval time. All
copy machinery is deleted (net **-195 lines**).
Key changes:
- **New relational schema** with `ebPoints`, `ebTxs`, and `txs` as
normalized tables
- **Removed** `txCache` table, `doCacheCopy` background thread, and all
`toCopy`/`cachedTxs` tracking from `LeiosOutstanding`
- **New `leiosDbInsertTxs`** operation that inserts txs and detects EB
completeness in one transaction, emitting `LeiosOfferBlockTxs`
notifications directly
### New Schema
```mermaid
erDiagram
ebPoints {
INTEGER ebSlot PK
BLOB ebHashBytes PK
}
ebTxs {
BLOB ebHashBytes PK "FK ebPoints.ebHashBytes"
INTEGER txOffset PK
BLOB txHashBytes "FK txs.txHashBytes"
INTEGER txBytesSize
}
txs {
BLOB txHashBytes PK
BLOB txBytes
INTEGER txBytesSize
}
ebPoints ||--o{ ebTxs : "1 EB has N tx refs"
txs ||--o{ ebTxs : "1 tx referenced by N EBs"
```
The `ebTxs` table is resolution table representing the N:M relationship
between EBs and transactions. Transaction bytes live only in `txs` and
are retrieved via LEFT JOIN when serving peers.
Dockerfile fixes due to dropped/renamed config files
Sidebar improvements and SDK documentation updates (#1723)
* improve SDK documentation and add Java category to sidebar & landing * alter sidebar structure and flag auto-collapse true in config * remove irrelevant educationa content * fix redirects
Merge pull request #406 from ThomasEnoch/feat/add-anvil-company
feat: add Anvil to entities