Jan 24, 11-12 PM (4)
Jan 24, 12-1 PM (2)
Jan 24, 1-2 PM (1)
Jan 24, 2-3 PM (10)
Jan 24, 3-4 PM (12)
Jan 24, 4-5 PM (5)
Jan 24, 5-6 PM (13)
Jan 24, 6-7 PM (3)
Jan 24, 7-8 PM (3)
Jan 24, 8-9 PM (6)
Jan 24, 9-10 PM (3)
Jan 24, 10-11 PM (25)
Jan 24, 11-12 AM (23)
Jan 25, 12-1 AM (0)
Jan 25, 1-2 AM (3)
Jan 25, 2-3 AM (0)
Jan 25, 3-4 AM (1)
Jan 25, 4-5 AM (1)
Jan 25, 5-6 AM (1)
Jan 25, 6-7 AM (1)
Jan 25, 7-8 AM (1)
Jan 25, 8-9 AM (1)
Jan 25, 9-10 AM (3)
Jan 25, 10-11 AM (0)
Jan 25, 11-12 PM (1)
Jan 25, 12-1 PM (7)
Jan 25, 1-2 PM (6)
Jan 25, 2-3 PM (12)
Jan 25, 3-4 PM (12)
Jan 25, 4-5 PM (2)
Jan 25, 5-6 PM (1)
Jan 25, 6-7 PM (2)
Jan 25, 7-8 PM (9)
Jan 25, 8-9 PM (5)
Jan 25, 9-10 PM (6)
Jan 25, 10-11 PM (21)
Jan 25, 11-12 AM (22)
Jan 26, 12-1 AM (11)
Jan 26, 1-2 AM (13)
Jan 26, 2-3 AM (15)
Jan 26, 3-4 AM (8)
Jan 26, 4-5 AM (4)
Jan 26, 5-6 AM (0)
Jan 26, 6-7 AM (4)
Jan 26, 7-8 AM (9)
Jan 26, 8-9 AM (48)
Jan 26, 9-10 AM (34)
Jan 26, 10-11 AM (16)
Jan 26, 11-12 PM (23)
Jan 26, 12-1 PM (44)
Jan 26, 1-2 PM (29)
Jan 26, 2-3 PM (33)
Jan 26, 3-4 PM (21)
Jan 26, 4-5 PM (27)
Jan 26, 5-6 PM (18)
Jan 26, 6-7 PM (16)
Jan 26, 7-8 PM (12)
Jan 26, 8-9 PM (19)
Jan 26, 9-10 PM (10)
Jan 26, 10-11 PM (29)
Jan 26, 11-12 AM (37)
Jan 27, 12-1 AM (14)
Jan 27, 1-2 AM (4)
Jan 27, 2-3 AM (4)
Jan 27, 3-4 AM (20)
Jan 27, 4-5 AM (2)
Jan 27, 5-6 AM (1)
Jan 27, 6-7 AM (9)
Jan 27, 7-8 AM (22)
Jan 27, 8-9 AM (26)
Jan 27, 9-10 AM (29)
Jan 27, 10-11 AM (71)
Jan 27, 11-12 PM (39)
Jan 27, 12-1 PM (50)
Jan 27, 1-2 PM (42)
Jan 27, 2-3 PM (25)
Jan 27, 3-4 PM (76)
Jan 27, 4-5 PM (62)
Jan 27, 5-6 PM (14)
Jan 27, 6-7 PM (28)
Jan 27, 7-8 PM (19)
Jan 27, 8-9 PM (7)
Jan 27, 9-10 PM (27)
Jan 27, 10-11 PM (32)
Jan 27, 11-12 AM (11)
Jan 28, 12-1 AM (12)
Jan 28, 1-2 AM (5)
Jan 28, 2-3 AM (8)
Jan 28, 3-4 AM (44)
Jan 28, 4-5 AM (24)
Jan 28, 5-6 AM (9)
Jan 28, 6-7 AM (9)
Jan 28, 7-8 AM (22)
Jan 28, 8-9 AM (69)
Jan 28, 9-10 AM (65)
Jan 28, 10-11 AM (45)
Jan 28, 11-12 PM (50)
Jan 28, 12-1 PM (36)
Jan 28, 1-2 PM (65)
Jan 28, 2-3 PM (54)
Jan 28, 3-4 PM (37)
Jan 28, 4-5 PM (24)
Jan 28, 5-6 PM (24)
Jan 28, 6-7 PM (8)
Jan 28, 7-8 PM (13)
Jan 28, 8-9 PM (6)
Jan 28, 9-10 PM (3)
Jan 28, 10-11 PM (23)
Jan 28, 11-12 AM (44)
Jan 29, 12-1 AM (15)
Jan 29, 1-2 AM (7)
Jan 29, 2-3 AM (15)
Jan 29, 3-4 AM (4)
Jan 29, 4-5 AM (7)
Jan 29, 5-6 AM (11)
Jan 29, 6-7 AM (17)
Jan 29, 7-8 AM (30)
Jan 29, 8-9 AM (63)
Jan 29, 9-10 AM (35)
Jan 29, 10-11 AM (82)
Jan 29, 11-12 PM (28)
Jan 29, 12-1 PM (26)
Jan 29, 1-2 PM (48)
Jan 29, 2-3 PM (94)
Jan 29, 3-4 PM (39)
Jan 29, 4-5 PM (51)
Jan 29, 5-6 PM (14)
Jan 29, 6-7 PM (39)
Jan 29, 7-8 PM (18)
Jan 29, 8-9 PM (23)
Jan 29, 9-10 PM (25)
Jan 29, 10-11 PM (28)
Jan 29, 11-12 AM (17)
Jan 30, 12-1 AM (12)
Jan 30, 1-2 AM (9)
Jan 30, 2-3 AM (33)
Jan 30, 3-4 AM (26)
Jan 30, 4-5 AM (3)
Jan 30, 5-6 AM (15)
Jan 30, 6-7 AM (10)
Jan 30, 7-8 AM (123)
Jan 30, 8-9 AM (26)
Jan 30, 9-10 AM (29)
Jan 30, 10-11 AM (30)
Jan 30, 11-12 PM (28)
Jan 30, 12-1 PM (56)
Jan 30, 1-2 PM (44)
Jan 30, 2-3 PM (54)
Jan 30, 3-4 PM (37)
Jan 30, 4-5 PM (26)
Jan 30, 5-6 PM (16)
Jan 30, 6-7 PM (2)
Jan 30, 7-8 PM (12)
Jan 30, 8-9 PM (27)
Jan 30, 9-10 PM (13)
Jan 30, 10-11 PM (36)
Jan 30, 11-12 AM (15)
Jan 31, 12-1 AM (1)
Jan 31, 1-2 AM (7)
Jan 31, 2-3 AM (2)
Jan 31, 3-4 AM (0)
Jan 31, 4-5 AM (1)
Jan 31, 5-6 AM (0)
Jan 31, 6-7 AM (2)
Jan 31, 7-8 AM (0)
Jan 31, 8-9 AM (1)
Jan 31, 9-10 AM (5)
Jan 31, 10-11 AM (3)
Jan 31, 11-12 PM (1)
3,480 commits this week Jan 24, 2026 - Jan 31, 2026
feat(cardano-node): add checksum annotations for block producer keys and (#329)
topology

Track checksums of block producer keys and topology values as pod
  template annotations. This allows Kubernetes to detect changes to
  secrets and configmaps that would otherwise be invisible since the
  resource names don't change between upgrades.

  Users can control rollout behavior per release via updateStrategy.

  Closes #327
chore: tidy kernel modules
This is a big and unpleasant commit; but vastly necessary. Multiple
things are going on, but before I explain further: why are we doing
this?

We have decided to move away from Pallas. There are various reasons
motivating this and a proper EDR will come ASAP. The gist being that we
ended up working more _around_ Pallas than _with_ Pallas. The amount of
duplication and workaround have reached a point that makes this switch a
lot more painful than I'd have liked.

In short, here's what's happening:

- The kernel top-level `lib` has been broken down into many smaller
  modules; the general strategy being "one type per module", with
  associated methods and traits.

- This shall allow us to now migrate in a more incremental fashion from
  Pallas to Amaru's own kernel / prelude. And, importantly, to give more
  thoughts about the public API we want to expose; for us, but also for
  downstream consumers.

- Few methods have been moved around, from the kernel to other places or
  vice-versa when it was relevant.

- Many duplications were already addressed; sometimes requiring a bit of
  finesse, renaming and moving types around. Some heavy work remain in a
  couple of places such as the amaru-plutus & the script context, as
  well as the "memoized" sections, which needs to be promoted as the new
  defaults.

Signed-off-by: KtorZ <[email protected]>
feat(cardano-node): add checksum annotations for block producer keys and
  topology

Track checksums of block producer keys and topology values as pod
  template annotations. This allows Kubernetes to detect changes to
  secrets and configmaps that would otherwise be invisible since the
  resource names don't change between upgrades.

  Users can control rollout behavior per release via updateStrategy.

  Closes #327
Force `StakePoolsSnapShot` in test creation
Somehow whenever `StakePoolsSnapShot` is created there is a thunk that
gets into it. I can't quite figure out what is causing it, but
concidering it only happens during generation of arbitrary data and for
the initial test state this shouls be fine foce 'em. It would be nice to
get to the bottom of this, since theoretically thunks should not be possible
in `VMap`. Potentially switching to using a strict tuple could help.
Fix lack of force in `map` and `mapWithKey` for `VMap`:
Previous implementation was wrongfully iterating just over the vector of
values, which itself is lazy, causing unexpected thunk buildup.
Technically it is a nice optimization, since that would mean there is no
iteration over the vector of keys, however, without forcing everyone to
switch to newest version of `vector-0.13.2.0` that introduced
`Data.Vector.Strict` we cannot have a strict `map` (using `mapM` is out
of the question, since it has terrible perfomrance)

This commit also adds strictness tests for `map` and `mapWithKey` and a
`noThunks` instance for future compatibility