Apr 02, 9-10 AM (37)
Apr 02, 10-11 AM (36)
Apr 02, 11-12 PM (38)
Apr 02, 12-1 PM (48)
Apr 02, 1-2 PM (62)
Apr 02, 2-3 PM (46)
Apr 02, 3-4 PM (47)
Apr 02, 4-5 PM (38)
Apr 02, 5-6 PM (35)
Apr 02, 6-7 PM (25)
Apr 02, 7-8 PM (24)
Apr 02, 8-9 PM (32)
Apr 02, 9-10 PM (17)
Apr 02, 10-11 PM (27)
Apr 02, 11-12 AM (47)
Apr 03, 12-1 AM (8)
Apr 03, 1-2 AM (9)
Apr 03, 2-3 AM (13)
Apr 03, 3-4 AM (0)
Apr 03, 4-5 AM (2)
Apr 03, 5-6 AM (6)
Apr 03, 6-7 AM (6)
Apr 03, 7-8 AM (50)
Apr 03, 8-9 AM (35)
Apr 03, 9-10 AM (6)
Apr 03, 10-11 AM (10)
Apr 03, 11-12 PM (14)
Apr 03, 12-1 PM (50)
Apr 03, 1-2 PM (38)
Apr 03, 2-3 PM (60)
Apr 03, 3-4 PM (15)
Apr 03, 4-5 PM (10)
Apr 03, 5-6 PM (5)
Apr 03, 6-7 PM (14)
Apr 03, 7-8 PM (20)
Apr 03, 8-9 PM (6)
Apr 03, 9-10 PM (15)
Apr 03, 10-11 PM (20)
Apr 03, 11-12 AM (17)
Apr 04, 12-1 AM (6)
Apr 04, 1-2 AM (1)
Apr 04, 2-3 AM (4)
Apr 04, 3-4 AM (1)
Apr 04, 4-5 AM (1)
Apr 04, 5-6 AM (5)
Apr 04, 6-7 AM (10)
Apr 04, 7-8 AM (3)
Apr 04, 8-9 AM (3)
Apr 04, 9-10 AM (5)
Apr 04, 10-11 AM (35)
Apr 04, 11-12 PM (9)
Apr 04, 12-1 PM (24)
Apr 04, 1-2 PM (11)
Apr 04, 2-3 PM (8)
Apr 04, 3-4 PM (12)
Apr 04, 4-5 PM (3)
Apr 04, 5-6 PM (9)
Apr 04, 6-7 PM (2)
Apr 04, 7-8 PM (3)
Apr 04, 8-9 PM (5)
Apr 04, 9-10 PM (17)
Apr 04, 10-11 PM (21)
Apr 04, 11-12 AM (23)
Apr 05, 12-1 AM (2)
Apr 05, 1-2 AM (0)
Apr 05, 2-3 AM (2)
Apr 05, 3-4 AM (1)
Apr 05, 4-5 AM (1)
Apr 05, 5-6 AM (9)
Apr 05, 6-7 AM (13)
Apr 05, 7-8 AM (4)
Apr 05, 8-9 AM (1)
Apr 05, 9-10 AM (0)
Apr 05, 10-11 AM (7)
Apr 05, 11-12 PM (7)
Apr 05, 12-1 PM (5)
Apr 05, 1-2 PM (2)
Apr 05, 2-3 PM (3)
Apr 05, 3-4 PM (3)
Apr 05, 4-5 PM (18)
Apr 05, 5-6 PM (3)
Apr 05, 6-7 PM (2)
Apr 05, 7-8 PM (2)
Apr 05, 8-9 PM (0)
Apr 05, 9-10 PM (5)
Apr 05, 10-11 PM (19)
Apr 05, 11-12 AM (18)
Apr 06, 12-1 AM (4)
Apr 06, 1-2 AM (6)
Apr 06, 2-3 AM (12)
Apr 06, 3-4 AM (11)
Apr 06, 4-5 AM (5)
Apr 06, 5-6 AM (7)
Apr 06, 6-7 AM (4)
Apr 06, 7-8 AM (8)
Apr 06, 8-9 AM (24)
Apr 06, 9-10 AM (15)
Apr 06, 10-11 AM (9)
Apr 06, 11-12 PM (2)
Apr 06, 12-1 PM (36)
Apr 06, 1-2 PM (42)
Apr 06, 2-3 PM (22)
Apr 06, 3-4 PM (8)
Apr 06, 4-5 PM (31)
Apr 06, 5-6 PM (18)
Apr 06, 6-7 PM (3)
Apr 06, 7-8 PM (11)
Apr 06, 8-9 PM (6)
Apr 06, 9-10 PM (9)
Apr 06, 10-11 PM (29)
Apr 06, 11-12 AM (16)
Apr 07, 12-1 AM (8)
Apr 07, 1-2 AM (8)
Apr 07, 2-3 AM (3)
Apr 07, 3-4 AM (4)
Apr 07, 4-5 AM (1)
Apr 07, 5-6 AM (17)
Apr 07, 6-7 AM (6)
Apr 07, 7-8 AM (14)
Apr 07, 8-9 AM (35)
Apr 07, 9-10 AM (38)
Apr 07, 10-11 AM (25)
Apr 07, 11-12 PM (63)
Apr 07, 12-1 PM (38)
Apr 07, 1-2 PM (49)
Apr 07, 2-3 PM (45)
Apr 07, 3-4 PM (23)
Apr 07, 4-5 PM (36)
Apr 07, 5-6 PM (19)
Apr 07, 6-7 PM (22)
Apr 07, 7-8 PM (21)
Apr 07, 8-9 PM (20)
Apr 07, 9-10 PM (16)
Apr 07, 10-11 PM (41)
Apr 07, 11-12 AM (21)
Apr 08, 12-1 AM (13)
Apr 08, 1-2 AM (6)
Apr 08, 2-3 AM (9)
Apr 08, 3-4 AM (9)
Apr 08, 4-5 AM (4)
Apr 08, 5-6 AM (21)
Apr 08, 6-7 AM (40)
Apr 08, 7-8 AM (72)
Apr 08, 8-9 AM (41)
Apr 08, 9-10 AM (24)
Apr 08, 10-11 AM (56)
Apr 08, 11-12 PM (43)
Apr 08, 12-1 PM (35)
Apr 08, 1-2 PM (64)
Apr 08, 2-3 PM (45)
Apr 08, 3-4 PM (16)
Apr 08, 4-5 PM (16)
Apr 08, 5-6 PM (17)
Apr 08, 6-7 PM (27)
Apr 08, 7-8 PM (11)
Apr 08, 8-9 PM (11)
Apr 08, 9-10 PM (6)
Apr 08, 10-11 PM (50)
Apr 08, 11-12 AM (18)
Apr 09, 12-1 AM (7)
Apr 09, 1-2 AM (5)
Apr 09, 2-3 AM (2)
Apr 09, 3-4 AM (4)
Apr 09, 4-5 AM (6)
Apr 09, 5-6 AM (15)
Apr 09, 6-7 AM (33)
Apr 09, 7-8 AM (15)
Apr 09, 8-9 AM (22)
Apr 09, 9-10 AM (3)
2,985 commits this week Apr 02, 2026 - Apr 09, 2026
Overhaul of Peras{Cert,Vote}DB and their wiring in ChainDB
Co-authored-by: Agustin Mista <[email protected]>
Co-authored-by: Alexander Esgen <[email protected]>
Co-authored-by: Georgy Lukyanov <[email protected]>
Co-authored-by: Thomas BAGREL <[email protected]>
Co-authored-by: Nicolas BACQUEY <[email protected]>
Co-authored-by: Nicolas "Niols" Jeannerod <[email protected]>
Update ObjectPool implementation for Peras{Cert,Vote}DB accordingly
Co-authored-by: Agustin Mista [email protected]
Co-authored-by: Alexander Esgen [email protected]
Co-authored-by: Georgy Lukyanov [email protected]
Co-authored-by: Thomas BAGREL [email protected]
Co-authored-by: Nicolas BACQUEY [email protected]
Co-authored-by: Nicolas "Niols" Jeannerod [email protected]
Remove legacy file-based persistence modules
  Delete `Hydra.Events.FileBased`, `Hydra.Persistence`, and
  `Hydra.PersistenceLog` which are no longer needed now that
  `Hydra.Events.SQLiteBased` is the sole persistence backend.

  Migration logic in `migrateFromFileBased` now reads the legacy
  newline-delimited JSON file directly, removing the dependency on
  `PersistenceIncremental`. The `Persistence` log constructor is removed
  from `HydraLog` along with it. Drop `resourcet` and `unliftio` from
  the library build-depends as they were only pulled in by the deleted
  modules.
Fix DRep list UI: flex columns, warning icon, metadata verification
- Change table columns from fixed widths to flex-based layout to fill container
- Fix metadataVerification field check (was using wrong field name)
- Use bech32 ID as fallback when DRep has no givenName
- Add truncateFormatter for long DRep IDs in list and details
- Update warning icon to gray outline style, position on right side of title
- Remove warning icon from details slide header
Remove duplicate uppercase mapping for TANG token
Delete the duplicate mapping file with uppercase 'E' in the filename:
bf9354cba4ee83c5de05c72830c6430967a26a1656b06293541d23e154414E47.json

The correct lowercase version already exists:
bf9354cba4ee83c5de05c72830c6430967a26a1656b06293541d23e154414e47.json

The uppercase file was added in commit 7026c474 (2023-03-04) and
bypassed the CI hex check because it used [[:xdigit:]] at the time,
which matches both upper and lowercase hex. Both files map to the
same TANG token but the uppercase filename violates README rule #3:
"The file name must match the encoded subject key of the entry, all
lowercase."

Fixes: #7933

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Add CI validation for subject field lowercase and filename match
Enforce README rule #3 ("The file name must match the encoded subject
key of the entry, all lowercase") at the CI level by adding two new
checks to the PR validation pipeline:

1. Subject field inside the JSON must be all lowercase hex [0-9a-f]
2. Subject field must exactly match the filename (without .json)

Previously only the filename was validated for lowercase hex, but the
subject field inside the JSON was never checked. This allowed entries
with uppercase hex in the subject to pass CI. There are currently 40
existing files with uppercase hex that were merged before or while
the filename check was being introduced (see #7933).

Also adds the new fail flags to the rm -f cleanup line to prevent
stale flags from causing false failures.

Refs: #7933

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>