May 15, 6-7 AM (10)
May 15, 7-8 AM (31)
May 15, 8-9 AM (23)
May 15, 9-10 AM (52)
May 15, 10-11 AM (71)
May 15, 11-12 PM (70)
May 15, 12-1 PM (73)
May 15, 1-2 PM (73)
May 15, 2-3 PM (66)
May 15, 3-4 PM (26)
May 15, 4-5 PM (13)
May 15, 5-6 PM (30)
May 15, 6-7 PM (29)
May 15, 7-8 PM (25)
May 15, 8-9 PM (8)
May 15, 9-10 PM (34)
May 15, 10-11 PM (34)
May 15, 11-12 AM (25)
May 16, 12-1 AM (2)
May 16, 1-2 AM (2)
May 16, 2-3 AM (3)
May 16, 3-4 AM (3)
May 16, 4-5 AM (0)
May 16, 5-6 AM (6)
May 16, 6-7 AM (2)
May 16, 7-8 AM (10)
May 16, 8-9 AM (1)
May 16, 9-10 AM (2)
May 16, 10-11 AM (1)
May 16, 11-12 PM (13)
May 16, 12-1 PM (11)
May 16, 1-2 PM (8)
May 16, 2-3 PM (15)
May 16, 3-4 PM (10)
May 16, 4-5 PM (2)
May 16, 5-6 PM (2)
May 16, 6-7 PM (2)
May 16, 7-8 PM (10)
May 16, 8-9 PM (6)
May 16, 9-10 PM (9)
May 16, 10-11 PM (29)
May 16, 11-12 AM (42)
May 17, 12-1 AM (9)
May 17, 1-2 AM (1)
May 17, 2-3 AM (0)
May 17, 3-4 AM (1)
May 17, 4-5 AM (0)
May 17, 5-6 AM (3)
May 17, 6-7 AM (2)
May 17, 7-8 AM (1)
May 17, 8-9 AM (1)
May 17, 9-10 AM (1)
May 17, 10-11 AM (6)
May 17, 11-12 PM (6)
May 17, 12-1 PM (4)
May 17, 1-2 PM (5)
May 17, 2-3 PM (9)
May 17, 3-4 PM (4)
May 17, 4-5 PM (8)
May 17, 5-6 PM (14)
May 17, 6-7 PM (10)
May 17, 7-8 PM (2)
May 17, 8-9 PM (4)
May 17, 9-10 PM (2)
May 17, 10-11 PM (20)
May 17, 11-12 AM (13)
May 18, 12-1 AM (10)
May 18, 1-2 AM (4)
May 18, 2-3 AM (5)
May 18, 3-4 AM (9)
May 18, 4-5 AM (14)
May 18, 5-6 AM (2)
May 18, 6-7 AM (37)
May 18, 7-8 AM (28)
May 18, 8-9 AM (35)
May 18, 9-10 AM (41)
May 18, 10-11 AM (43)
May 18, 11-12 PM (29)
May 18, 12-1 PM (136)
May 18, 1-2 PM (34)
May 18, 2-3 PM (89)
May 18, 3-4 PM (33)
May 18, 4-5 PM (45)
May 18, 5-6 PM (21)
May 18, 6-7 PM (16)
May 18, 7-8 PM (13)
May 18, 8-9 PM (23)
May 18, 9-10 PM (4)
May 18, 10-11 PM (25)
May 18, 11-12 AM (12)
May 19, 12-1 AM (7)
May 19, 1-2 AM (2)
May 19, 2-3 AM (9)
May 19, 3-4 AM (5)
May 19, 4-5 AM (10)
May 19, 5-6 AM (3)
May 19, 6-7 AM (53)
May 19, 7-8 AM (23)
May 19, 8-9 AM (46)
May 19, 9-10 AM (66)
May 19, 10-11 AM (30)
May 19, 11-12 PM (48)
May 19, 12-1 PM (81)
May 19, 1-2 PM (71)
May 19, 2-3 PM (41)
May 19, 3-4 PM (51)
May 19, 4-5 PM (15)
May 19, 5-6 PM (20)
May 19, 6-7 PM (18)
May 19, 7-8 PM (9)
May 19, 8-9 PM (21)
May 19, 9-10 PM (10)
May 19, 10-11 PM (28)
May 19, 11-12 AM (13)
May 20, 12-1 AM (21)
May 20, 1-2 AM (9)
May 20, 2-3 AM (4)
May 20, 3-4 AM (5)
May 20, 4-5 AM (9)
May 20, 5-6 AM (37)
May 20, 6-7 AM (47)
May 20, 7-8 AM (53)
May 20, 8-9 AM (50)
May 20, 9-10 AM (16)
May 20, 10-11 AM (41)
May 20, 11-12 PM (28)
May 20, 12-1 PM (50)
May 20, 1-2 PM (92)
May 20, 2-3 PM (20)
May 20, 3-4 PM (326)
May 20, 4-5 PM (23)
May 20, 5-6 PM (23)
May 20, 6-7 PM (17)
May 20, 7-8 PM (23)
May 20, 8-9 PM (15)
May 20, 9-10 PM (5)
May 20, 10-11 PM (34)
May 20, 11-12 AM (16)
May 21, 12-1 AM (16)
May 21, 1-2 AM (9)
May 21, 2-3 AM (11)
May 21, 3-4 AM (7)
May 21, 4-5 AM (4)
May 21, 5-6 AM (27)
May 21, 6-7 AM (14)
May 21, 7-8 AM (22)
May 21, 8-9 AM (31)
May 21, 9-10 AM (45)
May 21, 10-11 AM (35)
May 21, 11-12 PM (27)
May 21, 12-1 PM (63)
May 21, 1-2 PM (67)
May 21, 2-3 PM (60)
May 21, 3-4 PM (53)
May 21, 4-5 PM (17)
May 21, 5-6 PM (27)
May 21, 6-7 PM (27)
May 21, 7-8 PM (25)
May 21, 8-9 PM (23)
May 21, 9-10 PM (2)
May 21, 10-11 PM (29)
May 21, 11-12 AM (10)
May 22, 12-1 AM (16)
May 22, 1-2 AM (6)
May 22, 2-3 AM (8)
May 22, 3-4 AM (4)
May 22, 4-5 AM (11)
May 22, 5-6 AM (10)
May 22, 6-7 AM (9)
4,071 commits this week May 15, 2026 - May 22, 2026
chore(deps-dev): bump @tootallnate/once
Bumps [@tootallnate/once](https://github.com/TooTallNate/once) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/TooTallNate/once/releases)
- [Changelog](https://github.com/TooTallNate/once/blob/v2.0.1/CHANGELOG.md)
- [Commits](https://github.com/TooTallNate/once/compare/2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: "@tootallnate/once"
  dependency-version: 2.0.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
darwin: gate double-conversion c++abi patch to GHC < 9.4
The `extra-libraries: c++ c++abi` substitution in
`double-conversion.cabal` exists to fix linkage on darwin where
the cabal file's `c++` entry alone is insufficient.  From GHC 9.4
onwards the `system-cxx-std-lib` pseudo-package handles c++abi
linkage automatically, so the patch becomes a no-op there at best
and double-application at worst.

Gate the override on `compiler.version < 9.4` so newer GHCs are
left alone.
linux-cross: add -optc-fPIC alongside -fPIC on aarch64
aarch64 cross builds pass `-fPIC` to ghc but the same flag isn't
forwarded to the C compiler.  Some packages compile C sources that
end up needing position-independent code (e.g. when later linked
into shared libraries / TH plugins), and the missing `-fPIC` on
those triggers `relocation R_AARCH64_ADR_PREL_PG_HI21 ... can not
be used when making a shared object` link failures.

Pass `-optc-fPIC` alongside `-fPIC` so ghc forwards it to the C
compiler.
ghc-for-component-wrapper: add ghc-iserv-dyn alias on native-musl ≥ 9.10
Native-musl GHC ≥ 9.10 ships `<targetPrefix>ghc-iserv-dyn` and the
wrapper already creates unprefixed aliases for `ghc-iserv` and
`ghc-iserv-prof`, but it was missing `ghc-iserv-dyn`.  Without the
alias, projects compiling profiled + dyn-linked components on
native-musl fail at TH-eval time when ghc looks for
`<topdir>/bin/ghc-iserv-dyn`.

Add the symmetric `ghc-iserv-dyn` alias alongside the existing
ones.
Add CPS-????: Coordination of Hierarchical Handle Namespace
This CPS documents the problem of uncoordinated handle namespaces on
Cardano and proposes requirements for a governance solution.

Submitted following the discussion in CIP PR #1187 where the CIP
editors identified the need for a broader problem statement before
a technical solution can be proposed.

Related: https://github.com/cardano-foundation/CIPs/pull/1187
comp-builder: fix coverage installPhase hpc-dir lookup on Windows
The doCoverage installPhase tried
`${testExecutable}-tmp/extra-compilation-artifacts` which expands
to `dist/build/<cname>/<cname><exeExt>-tmp/...`.  On Windows hosts
`exeExt = ".exe"`, so the path becomes
`dist/build/<cname>/<cname>.exe-tmp/...` — a path cabal never
creates.  The fallback `cp -r dist/hpc $out/share` then errors with
"No such file or directory" and the slice fails.

cabal's per-component tmp dir is `dist/build/<cname>/<cname>-tmp`
regardless of platform, so use that path directly (and drop the
broken `${testExecutable}-tmp` case — it was only ever right when
`exeExt == ""`, which the new path also covers).

Confirmed `tests.coverage.run` on ucrt64 builds; native still passes.
Backport v1-affecting changes from hkm/builder-v2
Subset of the v2-builder branch that touches planning code and v1
behaviour, with the v2 builder itself, v2 dev shell, the new tests,
and all related plumbing left out.  Surfaces the v1-visible delta so
we can flag anything users may need to know about before bringing the
full v2 branch in.

Planning-code refactors (shared by v1 and v2):

* lib/dummy-ghc.nix (new): the cabal-install-input dummy `ghc`
  script extracted from lib/call-cabal-project-to-nix.nix.  Now
  emits cross-aware `ghc --info` capabilities (`Support
  dynamic-too`, `RTS ways`, `Support shared libraries`, etc.)
  matching real cross GHCs for windows, ghcjs, wasm, android,
  static, native musl, native.  Cabal feeds these into per-unit
  configuration that ends up in UnitId hashes, so misalignment vs
  the real compiler manifests as plan-to-nix UnitIds differing
  from cabal v2-build's local computation.
* lib/call-cabal-project-to-nix.nix: ports the dummy-ghc-pkg
  `-inplace` suffix gating to GHC ≥ 9.8 (older GHCs register
  pre-existing pkgs without the suffix).  Pins
  `CABAL_INSTALLED_PACKAGE_ID_OS` to the build platform's OS so
  unit-id format stays stable across host OSes.  Accepts an empty
  `cabalProjectLocal` as equivalent to null so platform-specific
  mkIfs in modules/cabal-project.nix can merge without bumping the
  recorded hash.
* modules/cabal-project.nix: adds platform-conditional
  `cabalProjectLocal` defaults — musl `executable-static: True`,
  x86_64-darwin `library-for-ghci: True`, android
  `ghc-options: -optl-static -optl-ldl …`, wasm ≥ 9.12
  `shared: True`.  These flow through plan-to-nix so the recorded
  install plan matches what a downstream cabal v2-build would
  compute; v1 reads what it always read (`-optl-static` already
  comes from comp-builder's per-component configureFlags, etc.) so
  observable behaviour is unchanged outside of UnitId-driven cache
  busts.
* modules/cabal-project.nix: adds the
  `source-repository-package` wiring for the new project-level
  `useLocalGhcLib` option (see project-common changes).
* modules/install-plan/configure-args.nix: translates
  `--enable-profiling` / `--enable-library-profiling` /
  `--enable-coverage` / `--enable-debug-info` from plan.json
  configure-args into per-component option overrides
  (`enableProfiling`, `enableLibraryProfiling`, `doCoverage`,
  `enableDWARF`).  Lets a project set e.g.
  `package <pkg>\n  profiling: True` /
  `debug-info: 2` in cabal.project and have v1 honour it without
  also needing module-level toggles.
* modules/project-common.nix: adds the `useLocalGhcLib` option.
* modules/stack-project.nix: under `useLocalGhcLib`, re-applies the
  `packages.ghc.src` post-plan override that
  modules/configuration-nix.nix used to do unconditionally.
* modules/configuration-nix.nix: drops the unconditional
  `packages.ghc.src` override (moved into the new
  `useLocalGhcLib` path).
* lib/default.nix: corrects the `foldComponents` `libComp` comment
  and tightens `uniqueWithNameKey` so derivations and module
  values can't collide on shared name fragments.

v1 builder fixes:

* modules/component-options.nix + builder/comp-builder.nix:
  surfaces `enableDWARF` as a component option and defaults the
  v1 comp-builder's parameter to `component.enableDWARF`.  Combined
  with the configure-args extraction above, this lets
  `cabal.project` `debug-info:` reach v1's `-g3` /
  `.dwarf` GHC swap.
* builder/comp-builder.nix: fixes the doCoverage installPhase hpc
  dir lookup on Windows hosts.  Previously
  `${testExecutable}-tmp` expanded to `<cname>.exe-tmp` (a path
  cabal never produces); switch to `<cname>/<cname>-tmp`.
* builder/ghc-for-component-wrapper.nix: native-musl wrapper now
  adds the missing `ghc-iserv-dyn` alias alongside `ghc-iserv`,
  `ghc-iserv-prof`, and `unlit`.

Overlay tweaks:

* overlays/linux-cross.nix: aarch64 cross builds add `-optc-fPIC`
  alongside the existing `-fPIC`.
* overlays/darwin.nix: gates the double-conversion `c++abi` patch
  to GHC < 9.4 — newer GHCs handle this via the
  `system-cxx-std-lib` pseudo-package.
* overlays/haskell.nix: routes iserv-proxy build flags through
  the project's `cabalProjectLocal` instead of post-plan
  `.override { setupBuildFlags = ... }`.  Adds
  `-with-rtsopts=--optimistic-linking` for GHC ≥ 9.14 so iserv's
  RTS linker tolerates undefined symbols at TH-eval load time.
  Routes android (`-optl-static -optl-ldl`, `-optl-no-pie` on
  aarch32), windows (`-debug` + image-base flags), and
  aarch64-pre-9.8 (`flags: -threaded`) overrides via cabal.project
  too, so plan-to-nix captures them in configure-args.

Tests are left untouched against master so any v1-visible
behaviour drift surfaces in CI rather than being silently masked
by the v2-branch's adjusted test expectations.