Changelog
All notable changes to CosmoForge will be documented here.
Version 1.0.1 (2026-05-21)
Documentation-only patch release. Refreshes the long descriptions on PyPI
for cosmocore, qube-qml, and picslike so they reflect the
published companion paper and the current install path.
Documentation:
Paper I (Galloni & Pagano 2026,
arXiv:2605.21149) cited in all READMEs and inCITATION.cff. BibTeX entries gainedeprint/archivePrefix/primaryClassfields; the legacy"in preparation"notes are removed.CITATION.cffurl:field migrated from the retired GitHub Pages location to the canonical Read the Docs URL.cosmocore,qube-qml, andpicslikeREADMEs gained proper PyPI installation instructions (previously instructed users to clone the repository and runpip install -e); the MPI extra is now documented aspip install <package>[mpi]instead of a barepip install mpi4py.
Version 1.0.0 (2026-05-20)
First stable release. CosmoForge is now a public, paper-validated framework covering QML power spectrum estimation and pixel-space Gaussian likelihood evaluation for spin-0 and spin-2 fields on the sphere.
API stabilisation:
SpectrumKeytype system replaces the legacy(comp_i, comp_j, mode)tuple-based keying across cosmocore, qube, and picslike.SpectrumKindenumerates ordered slot pairs (SS,GG/CC/GC,SG/SC); CMB aliases (TT,EE,BB,EB,BE,TE, …) and theto_cmb_canonicalre-keying helper live incosmocore.conventions.cmb.Label-keyed user-facing accessors on
FisherandSpectra; legacy tuple-keyed inputs and tuple-rewrap shims removed.SymmetryModeflag onFisherandSpectra(SYMMETRICdefault,DIRECTIONALfor calibration diagnostics) controls how cross-component spin-2GC/CGblocks are handled; the directional path uses separateLambdaand derivative E matrices (ADR-0011).
Architecture:
ComputationBasispolymorphism convention closed (ADR-0002):prepare_for_basis/BasisPreparedcontract,quadratic_formabstract method, basis-seam leak inqube/spectra.pyclosed, single SMW-cross quadratic-form path.PixelBasisclass-model cleanup:use_directflag dropped (pixel-direct is the natural default when noepsilon/mode_fractionis passed);basiskwarg renamed tocompression_target;apply_compressioninternalised.Top-level
harmonic.py/pixel.pyrenamed to remove name collision with thebasis/subpackage.
Numerical stability:
Stable SMW rewrite in
qube/spectra.py(replaced the catastrophically-cancellation-proneM - M K^{-1} Mform withM (I + Lambda M)^{-1}); fixes high-SNR negativeVCVTand yields a ~5x speed-up in the multi-spectrum harmonic path.
Packaging:
mpi4pyis now an optional dependency (cosmocore[mpi],qube-qml[mpi],picslike[mpi]). CI runs the test matrix on both branches ofcosmocore._mpi.All remaining
np.linalg/scipy.linalgcall sites routed throughcosmocore.basicsfor consistency.
Validation:
End-to-end reproduction of the Planck low-\(\ell\) Fortran reference for both the QML and pixel-space likelihood pipelines, consistent with double-precision arithmetic.
Documentation:
Hosting migrated from GitHub Pages to Read the Docs.
Doc-drift sweep policy: at the end of every feature touching public surface, grep for renamed symbols, rebuild the Sphinx tree, and verify CONTEXT.md and per-package READMEs.
Tutorials refreshed for the SpectrumKey/SymmetryMode API and re-executed end-to-end at tier-A.
Installation guide reworked (developer install opt-in,
pymaster/namastertrap documented).CONTEXT.mdupdated with Slot, SpectrumKind, SpectrumKey, SymmetryMode.
Distribution:
Three independently pip-installable packages —
cosmocore(foundation),qube-qml(Fisher and QML estimation),picslike(pixel-space Gaussian likelihood) — plus thecosmoforgeumbrella metapackage that installs all three.