Release notes for the Muon Collider Spack package repository.
Each release corresponds to a git tag and a set of container images published by the CI.
The release version is also recorded in packages/mucoll-stack/package.py and the per-package
versions in environments/mucoll-common/packages.yaml.
The format is loosely based on Keep a Changelog.
- Image package checks compare installed Ubuntu and Spack package names with reviewed baselines. Unexpected additions or removals now fail the image build.
vimis back in the images (#81). It was dropped when the base image moved toubuntu:24.04.
v3.1 — 2026-08-13
Second release of the 3.x series (mucoll-stack@3.1). It consolidates the layered build to two
images, removes the Marlin/ILCSoft/LCIO reconstruction chain in favour of the native key4hep path,
brings back the GNN tracking pipeline, and pins the stack to tagged key4hep/MuColl releases instead
of tracking main.
- Event generators in the
simimage. New+genvariant pulling inwhizard +openloops,madgraph5amc, andpythia8. The publishedsimlayer is now built as+sim+gen— both themucoll-layeredenvironment and the CI (amd64/arm64). k4gaudipandorain the+simlayer, providing the Gaudi ↔ PandoraPFA interface that replaces the droppedpandorapfa/marlinpath. It is required as@0.3.0 ~ddkaltest:~ddkaltesttakes the track states already present on the input tracks instead of recomputing them at the calorimeter, which avoids thek4reco +conformal_trackingdependency (and with it LCIO).- ACTS overlay recipe (
packages/acts) so the material-mapping workflow ofk4ActsTracking/doc/material_mapping.mdactually works againstacts@main: it passes the renamedACTS_BUILD_PYTHON_BINDINGS/ACTS_BUILD_EXAMPLES_ROOTcmake options (the builtin package's names are silent no-ops onmain), installs theExamples/Scripts/Pythonhelper scripts, and exportsPYTHONPATH/ACTS_EXAMPLES_SCRIPTS. ACTS is now required as+dd4hep+json+edm4hep+examples+geant4+hepmc3+python cxxstd=20. - GNN tracking pipeline back in the default build. The stack requires
k4actstracking@00-05 +gnn, which pullsacts +gnn+onnx+torchtogether withpy-torchandpy-onnxruntime. The pipeline is now selected by a variant on a tagged release rather than by a branch pin, and needs no ACORN (GNN4ITk) dependency. - Concretization CI now exercises the real image bootstrap.
concretize-template.yamlbuildsDocker/Dockerfile.base --target concretizeinstead of running inside the key4hep externals image, so it uses exactly the same pinned spack / spack-packages commits, key4hep-spack and local.cherry-pick, LLVM-20/rust externals and buildcache mirror that the published images use. Nothing is installed, so the check stays cheap while failing on exactly the concretization problems a real build would hit; the concretized spec is uploaded asspec-<target>.log. - Geant4
examplesvariant via cherry-pick..cherry-picknow cherry-picks the key4hep-spack commit that adds theexamplesvariant togeant4, so the build can turn the examples off without vendoring a full localgeant4recipe.
- Simplified the layered build from three images to two. Collapsed the
analysis ⊂ sim ⊂ mlchain intoanalysis ⊂ sim: the machine-learning tools (+ml) are now folded into the base analysis layer instead of shipping as a separatemucoll-mlimage, and both theanalysisandsimroots carry+ml. Removed the dedicated+analysisvariant — the edm4hep/podio analysis stack is now the always-installed base of every layer. Movedhepmc3into the+simlayer. The roots are nowmucoll-stack~devtools+pytools+ml~simandmucoll-stack~devtools+pytools+ml+sim+gen. - Pinned the stack to tagged releases rather than tracking upstream
main:edm4hep@1.1,k4fwcore@1.7,k4geo@0.26,k4gen@0.1pre16,k4gaudipandora@0.3.0,k4actstracking@00-05,k4reco@0.3(new version added to the recipe and made preferred).k4simgeant4still tracks@main. - Physics-validation plotting moved to the
mucoll-benchmarkspython studies. The plot step now runsanalysis/python/edm4hep/study_{tracks,seeds,hits}.py(andstudy_photons.pyfor photons) instead of the retiredTrackingPlotssubmodule (RunAnalysis.C->PlotAll.C), which no longer exists upstream. The studies fuse ntuple writing and plotting into a single RDataFrame event loop, so there is no intermediate ntuple stage.validation/RunAnalysis.confis replaced byvalidation/plot_settings.sh, whose settings can all be overridden from the environment. - Pinned
numpy(@:2.2, the numba-compatible ceiling),py-sympy@1.13.3,eigen@3.4,py-fsspec +httpandvalgrind ~boostinpackages.yamlso theanalysisandsimroots stay shareable underunify: when_possible— each of these otherwise forks the expensivepy-torch/onnxruntimesubtree across the two roots. - Disabled Geant4 examples (
geant4 ~examples) to trim the build, and dropped+lciofrom thedd4hepand Whizard specs (nowwhizard +openloops). k4geois still required as~beampipe_stl— it skips the network download of the FCC-ee MDI beampipe CAD, which MuColl does not use and which intermittently breaks the build. The variant itself now comes from upstream, so it no longer needs a local overlay to exist.
- Removed Marlin, ILCSoft, and LCIO from the stack. Dropped the entire Marlin/ILCSoft
reconstruction chain (
marlin,marlinreco,marlintrk,marlinutil,marlindd4hep,marlinfastjet,marlinkinfit*,pandorapfa/pandoraanalysis,gear,kaltest/ddkaltest,kitrack*,clicperformance,fcalclusterer,generalbrokenlines,aidatt,raida,sio,ced/cedviewer,garlic,lcfiplus/lcfivertex, …) together withk4marlinwrapperand thelciopin from the stack's direct dependencies, along with the now-unusedmuoncvxddigitiserandmybibutilsrecipes. Reconstruction is now driven entirely by the native key4hep/k4recopath (k4geostill pulls upstreamlcio. The changes needed to avoid this will land later). - Dropped the version requirements on
k4simdelphesandk4edm4hep2lcioconv. - Dropped the local
k4geo,k4actstrackingandk4gaudipandorarecipes in favour of the upstream Spack packages, which now carry everything the overlays were adding (thebeampipe_stl,gnnandddkaltestvariants).packages/is down toacorn,acts,k4reco,mucoll-stack,pelicanand the python/ML helpers. - Removed the
mucoll-release-debugenvironment (and its entry from the concretization matrix).
v3.0 — 2026-06-20
First release of the 3.x series (mucoll-stack@3.0) — a major restructuring of how the stack
is built and distributed.
- Layered build and image chain. The stack is organised as three nested root specs
(
analysis ⊂ sim ⊂ ml) concretized together underunify: when_possible, so every shared dependency resolves to a single hash and is installed only once. The CI publishes a chain of images that build on top of one another:mucoll-analysis-<os>— minimal, edm4hep+podio analysis stack (mucoll-stack+devtools+pytools+analysis).mucoll-sim-<os>— adds the simulation and reconstruction tools (+sim, pulls indd4hep+ddg4,geant4+data).mucoll-ml-<os>— adds the machine-learning stack (+ml).
- Machine-learning layer. New
+mlvariant pulling in a PyTorch-based stack:py-torch(+torch-scatter,py-torch-cluster,py-torch-sparse,py-torch-spline-conv),py-class-resolver,py-trackml, and related tooling, with a GNN-enabledk4actstracking@gnnbranch. - Full ACTS recipe and ACORN integration for ML-based tracking.
- New/updated
mucoll-namespaced packages:acorn,k4reco,k4geo,muoncvxddigitiser,marlinmuonid,mybibutils,pelican,py-atlasify. - Physics validation workflow (
validation/) trackingmucoll-benchmarksmain, with geometry-driven configuration selection, gated on a multi-arch simulation manifest.
- Analysis layer built from a plain Ubuntu base rather than the full key4hep image, trimming the footprint of the analysis-only image.
- Docker build consolidated to a small set of Dockerfiles (
Dockerfile.base,Dockerfile.layer). - Migrated to
cxxstd=20andbuild_type=RelWithDebInfoas the default variants. - Switched several components to upstream
main/masterbranches:k4fwcore,k4gen,k4marlinwrapperhandling, ACTS. - Builds target both
x86_64andaarch64(multi-arch images). - Re-added
k4marlinwrapperandk4simgeant4to the+simlayer (the latter provides theGeoSvcthat the MAIA/MuColl reconstruction workflow loads at runtime). - Added
ccacheas a build dependency.
- Dropped
k4simdelphes, the separatelcgeopackage (replaced byk4geo), andpytoolscherry-picks no longer needed.
- ML stack concretization on
aarch64: pinllvm@20with stablenumba/llvmlite, installlibzstd-dev/zlib1g-devsopy-llvmlitelinks against the system LLVM, and work around LLVM OOM-kills by limiting build jobs. - ACTS
fillGridatPosition→atpatch (later resolved upstream). - CI hardening: check out the PR head SHA for PR builds, avoid leaking GitHub tokens into final images, fix repository-name casing.
v2.11 — 2025-11-20
mybibutilsandmarlinmuonidpackages.- Auto-setup of the stack environment on container start.
- Updated
marlintrkprocessors(multiple bug-fix bumps) and bumped to version 2.18.2. - Track
k4fwcore@main. - Adjusted package types across recipes.
- ROOT C++ modules (
cxxmodules) configuration.
v2.10.1 — 2025-10-27
- ROOT
cxxmodulesbuild issue.
v2.10 — 2025-10-13
- Initial machine-learning build step in the CI (later matured in the 3.x series).
- Target-architecture selection for multi-arch builds.
- Images built on top of the key4hep Docker image instead of from scratch.
- Cleaned up the stack installation scripts and concretization CI.
- Picked up latest
actstrackingandmarlintrkprocessors.
- Dropped the standalone
lcgeopackage andopenloops/pytoolscherry-picks.
- Temporary workaround for the ONNX runtime.
- Hardened the image workflow against leaking GitHub tokens.
v2.9.8 — 2025-09-06
- Build on top of the key4hep Docker image; specify target architectures.
- Picked up latest
actstrackingandmarlintrkprocessors.
- Checksum fixes; repository-name casing fix; ONNX runtime workaround.
v2.9.7 — 2025-06-03
- Pick up tagged base image from key4hep-dev-externals.
v2.9.6 — 2025-05-28
- Docker build and registry-credentials handling.
v2.9.5 — 2025-04-29
- Use upstream LCIO; bump
dd4hep,cvxddigitiser,lcgeo, andk4geotags. - Enable Pandora monitoring for debugging.
v2.9 — 2024-07-16
- Development instructions in the README.
- Spack environment view generation.
- New versions of the ACTS processor and MarlinTrk processors.
- Latest ACTS and MarlinTrk processors in the release.
lcgeopath definition;dd4hepLD_LIBRARY_PATHsetup; ROOT andlcgeolibrary configuration in the run environment.
xrootd;man-dbfrommucoll-stack.
v2.8 — 2023-06-22
First tagged release of the 2.x series — Spack recipes for the Muon Collider software stack
(namespace mucoll) built on top of the key4hep stack.