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 (74)
Apr 23, 3-4 PM (26)
Apr 23, 4-5 PM (22)
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 (100)
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 (27)
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 (13)
Apr 25, 7-8 PM (30)
Apr 25, 8-9 PM (55)
Apr 25, 9-10 PM (13)
Apr 25, 10-11 PM (21)
Apr 25, 11-12 AM (22)
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 (5)
Apr 26, 10-11 PM (27)
Apr 26, 11-12 AM (21)
Apr 27, 12-1 AM (7)
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 (82)
Apr 27, 8-9 AM (47)
Apr 27, 9-10 AM (33)
Apr 27, 10-11 AM (62)
Apr 27, 11-12 PM (80)
Apr 27, 12-1 PM (66)
Apr 27, 1-2 PM (44)
Apr 27, 2-3 PM (52)
Apr 27, 3-4 PM (42)
Apr 27, 4-5 PM (36)
Apr 27, 5-6 PM (26)
Apr 27, 6-7 PM (13)
Apr 27, 7-8 PM (26)
Apr 27, 8-9 PM (13)
Apr 27, 9-10 PM (15)
Apr 27, 10-11 PM (42)
Apr 27, 11-12 AM (28)
Apr 28, 12-1 AM (17)
Apr 28, 1-2 AM (8)
Apr 28, 2-3 AM (4)
Apr 28, 3-4 AM (5)
Apr 28, 4-5 AM (5)
Apr 28, 5-6 AM (8)
Apr 28, 6-7 AM (8)
Apr 28, 7-8 AM (37)
Apr 28, 8-9 AM (54)
Apr 28, 9-10 AM (59)
Apr 28, 10-11 AM (53)
Apr 28, 11-12 PM (56)
Apr 28, 12-1 PM (49)
Apr 28, 1-2 PM (53)
Apr 28, 2-3 PM (68)
Apr 28, 3-4 PM (31)
Apr 28, 4-5 PM (14)
Apr 28, 5-6 PM (47)
Apr 28, 6-7 PM (9)
Apr 28, 7-8 PM (8)
Apr 28, 8-9 PM (14)
Apr 28, 9-10 PM (20)
Apr 28, 10-11 PM (34)
Apr 28, 11-12 AM (29)
Apr 29, 12-1 AM (13)
Apr 29, 1-2 AM (1)
Apr 29, 2-3 AM (1)
Apr 29, 3-4 AM (6)
Apr 29, 4-5 AM (1)
Apr 29, 5-6 AM (4)
Apr 29, 6-7 AM (12)
Apr 29, 7-8 AM (45)
Apr 29, 8-9 AM (70)
Apr 29, 9-10 AM (49)
Apr 29, 10-11 AM (25)
Apr 29, 11-12 PM (50)
Apr 29, 12-1 PM (39)
Apr 29, 1-2 PM (21)
Apr 29, 2-3 PM (66)
Apr 29, 3-4 PM (25)
Apr 29, 4-5 PM (36)
Apr 29, 5-6 PM (15)
Apr 29, 6-7 PM (5)
3,753 commits this week Apr 22, 2026 - Apr 29, 2026
feat(wal): version on-disk schema and force-reset on incompatibility (#984)
Adds a WAL_METADATA table to the redb WAL DB tracking a schema version,
checked at open(). Older or missing versions trigger a wipe-and-stamp;
newer versions return WalError::IncompatibleVersion to prevent an old
binary from destroying newer data. After a wipe, check_wal_in_sync_with_state
auto-reseeds the WAL from the state cursor (when fully defined) instead of
erroring, eliminating the manual `dolos doctor reset-wal` step.
chore: prepare 8.5.2 (#988)
* chore: prepare 8.5.2

* Chore/bump node db sync mithril (#986)

* chore: update script for new release

* chore: bump node/dbsync/mithril

* chore: config files for node/dbsync

* chore: add mainnet config files

* chore: bump cardano db sync

* feat(tests): add Python test framework with full schema coverage (#987)

* chore: update script for new release

* chore: bump node/dbsync/mithril

* chore: config files for node/dbsync

* feat(tests): add Python test framework with full schema coverage

Adds a Rosetta-inspired, read-only test suite at tests/ for any GraphQL
implementation of the cardano-graphql schema. Six phases shipped in one go:

  Phase 1 — sanity, golden functional, negative tests
  Phase 2 — Locust load harness + p95<500ms / err<1% baseline gate
  Phase 3 — multi-instance comparison (skipped without --compare-url)
  Phase 4 — regression goldens seeded from cardano-foundation issues
            (#951, #953, #978/#980, #979)
  Phase 5 — schema introspection diff against committed snapshot
  Phase 6 — CI workflows: PR gate, nightly, weekly

Coverage:
  * 52 / 52 top-level Query roots (100%)
  * 428 / 440 data-type fields (97.3%) across 61/61 types touched
  * 59 mainnet goldens captured at anchor block 13228000
  * 8 preprod goldens scaffolded (auto-skip on mainnet runs)
  * 8 negative tests, 7 schema tests (1 integration + 6 offline unit)

Determinism:
  * All goldens pinned to anchor_block 13228000 in config/networks.yaml
  * Address buckets: light / medium / heavy with separate goldens + perf tasks
  * --update-golden record-then-review lifecycle; forbidden when CI=true
  * Volatile fields masked via dot.notation[*] ignore_paths DSL

Tooling:
  * uv-managed, Python 3.12+
  * generate_report.py: self-contained HTML report with coverage panel,
    per-test timing table, and query corpus appendix
  * utils/coverage.py: graphql-core-based coverage report (top-level + field)
  * utils/markers.py: lists 52 auto-applied root markers + cip26/cip68
  * Dynamic markers — pytest -m assets / -m cip26 / -m cip68 / -m <root>
    target only goldens whose query touches that root, computed at collection

Reusable patterns lifted from cardano-rosetta-java/tests/data-endpoints:
  * pytest_runtest_makereport Allure attachment hook
  * Recording GraphQL client proxy
  * YAML network test data layout
  * Deep-diff with path-based ignores

Documentation:
  * tests/README.md            — top-level reference
  * tests/QUICKSTART.md         — install + run in 5 minutes
  * tests/TESTING_GUIDE.md      — skim-friendly reference for all test types
  * tests/CONTRIBUTING.md       — how to add tests, refresh anchor, debug
  * tests/{performance,multi_instance,schema,negative}/README.md
  * tests/queries/{coverage,regression}/README.md
  * .claude/skills/test-cardano-graphql.md — natural-language Claude skill

CI:
  * .github/workflows/graphql_tests.yml — PR gate (markers=pr), nightly (full
    functional + negative + schema), weekly (adds perf smoke + baseline gate),
    workflow_dispatch with optional URL override and run_perf toggle.
  * Every job exports CI=true to block --update-golden / --update-schema.

---------

Co-authored-by: VladislavKudrin <[email protected]>

---------

Co-authored-by: Kartiiyer12 <[email protected]>
Fall back to mithril package when mithril-client-cli is unavailable (#2598)
The `mithri`l `2617.0` release switched all nodes to static musl builds.
As a side effect, mithril-client-cli is no longer exposed as a
standalone Nix package for non-Linux platforms. It only exists under
`packages.x86_64-linux`. This broke nix develop on `aarch64-darwin`.


The one real downside of current solution is that the fallback pulls in
the entire mithril package (aggregator, signer, end-to-end tooling,
etc.) just to get `mithril-client`.

<!-- Describe your change here -->

---

<!-- Consider each and tick it off one way or the other -->
* [ ] CHANGELOG updated or not needed
* [ ] Documentation updated or not needed
* [ ] Haddocks updated or not needed
* [ ] No new TODOs introduced or explained herafter

---------

Co-authored-by: Noon <[email protected]>
chore(nix): fix nixpkgs-25.11 eval failures on Darwin and Windows
- Remove darwin.apple_sdk.frameworks.{CoreServices,AppKit} and
  darwin.libobjc from buildInputs in any-darwin.nix and devshells.nix;
  darwin.apple_sdk (aliased to apple_sdk_11_0) was removed as a legacy
  compatibility stub — the default Darwin stdenv SDK provides all
  frameworks automatically
- Update ghc8107 → ghc810 in installers/default.nix; ghc8107 was
  removed from nixpkgs-25.11 (closest available: ghc810)