Releases: cloe-org/cloelib
v0.10
🚀 Release Summary
This release introduces new cosmological observables, internal transformations, and improved interoperability with external libraries. It also includes performance improvements, extended modeling support, bug fixes, and documentation updates, contributing to a more modular and robust framework.
✨ What's New
✏️ New Transformations & Observables — Added first implementation of Hankel transformations for spectroscopic two-point correlation functions (2PCF) and enabled them in polar coordinates, BNT transformation for shear kernels, COSEBIs for photometric surveys (and its corresponding auxiliary functions), and added photometric RSD window support, expanding the range of supported cosmological analyses.
⭐ Extended Cosmological Modeling for non-linear scales — Introduced linear emulator modules (ΛCDM, wCDM, waCDM), BACCOemu and EuclidEmulator2 integration, and improved handling of σ₈ outputs and growth factor calculations. Also, extended support for _cb quantities.
🔗 cosmolib Integration — Added cosmolib dependency and standardized outputs (e.g., photometric and spectro dataclasses for all observables), improving interoperability and consistency across pipelines. Now, cloelib is fully compatible with euclidlib format.
⚡ Performance & Numerical Improvements — Implemented vectorized and JAX-compatible Akima interpolation, improved array handling (np.arange fix), and optimized numerical routines across modules.
🛠️ Developer Experience & CI/CD — Updated CI pipelines, improved templates (issues & PRs), refined project structure documentation, and enhanced release preparation workflows.
📚 Documentation Overhaul — Major improvements to README, modular code structure documentation, contributor visibility, and rendering fixes (e.g., Mermaid diagrams, navigation bugs). Also, full cloelib docs are now available.
🧹 Bug Fixes & Cleanup
- Fixed duplicated functions in spectroscopic modules (
gh-342). - Resolved COSEBIs key and mode handling issues (
gh-405,gh-415). - Fixed PBJ interface inconsistencies (
gh-399). - Corrected growth factor redshift usage in IA window (
gh-414). - Fixed numerical integration naming (
trapz→trapezoid) (gh-450). - Addressed formatting and rendering issues in documentation and navigation.
- General cleanup of deprecated components (e.g., removal of
_version.py).
⚠️ Breaking Changes
Introduction of cosmolib dependency and refactoring of outputs (e.g., COSEBIs and spectro observables) may require minor adaptations in downstream pipelines. This implies that some formats have been altered. Please, re-install and check new playground notebooks.
👥 New Contributors
@zahrabaghkhani @pltaylor16 @zsirap @ChaitanyaChawak @raphkou @ivansladoljev @ktanidis @garico92 made their first contributions. We also acknowledge the continued contributions from many others to cloelib. See the all-contributors section in the README for a complete overview.
📄 Full Changelog
Full Changelog: v0.9.1...v0.10
What's Changed
- gh-321: Added first implementation of Hankel transformation by @AndreaPezzotta in #322
- gh-244: rdrag in bao obtained from background by @chiaramoretti in #326
- gh-328: added cosmolib dependency by @gcanasherrera in #329
- gh-#331: Fixed bug by @AndreaPezzotta in #332
- gh-315: accommodate angular two point correlation function output to heracles format by @zahrabaghkhani in #325
- gh-342: HOTFIX: Removed duplicated function in comet spectro by @arthurmloureiro in #343
- gh-284: add get_cosebis by @gcanasherrera in #314
- gh-356: np.arange fix, now to n+1 by @caspervedder in #355
- gh-357: added new templates by @gcanasherrera in #358
- gh-365: swap ggl indices by @josecolomanadal in #366
- gh-351: Vectorized and jax compatible akima by @matteobaratto in #353
- gh-230: sigma8 output by @pburger112 in #286
- gh-145: Add BNT transformation by @pltaylor16 in #337
- gh-377: Update pull request template checklist by @gcanasherrera in #378
- gh-304: class output of sigma8 by @zsirap in #374
- gh-393: missing observational systematics on individual loop terms of gcspectro by @AndreaPezzotta in #394
- gh-399: Fixed pbj interface by @chiaramoretti in #401
- gh-405: fix COSEBIs key bug by @ChaitanyaChawak in #406
- gh-409: cosebis dataclass from cosmolib by @gcanasherrera in #410
- gh-415: cosebis mode should be array by @gcanasherrera in #416
- gh-414: Fixing redshift variable used when computing growth factor in IA window by @raphkou in #421
- gh-390: add _cb quantities by @m-aguena in #391
- gh-176: LCDM, wCDM and waw0CDM linear emulator module by @ivansladoljev in #255
- gh-95: Add photometric RSD window for PositionsTracer by @ktanidis in #402
- gh-431: removed _version.py by @chiaramoretti in #432
- gh-429: Updated CI pipeline and pyproject.toml minimally by @santiagocasas in #430
- gh-403: compatibility photo class by @zsirap in #423
- gh-426: include
_cbquantities in class backend by @arthurmloureiro in #428 - gh-442: add cosmolib formatting as output of gcspectro observables by @AndreaPezzotta in #443
- gh-448: Added function for polar 2PCF by @AndreaPezzotta in #449
- gh-450: changed trapz to trapezoid by @gcanasherrera in #451
- gh-239: BACCOemu in cloelib by @garico92 in #411
- gh-441: preparation for v0.10 release by @gcanasherrera in #447
- gh-454: mermaid fix by @gcanasherrera in #455
v0.9.1
🚀 Release Summary
This patch release strengthens the reliability of the cloelib framework with essential bug fixes, improved developer workflow automation, and documentation updates. It refines core functionalities in the pseudo-Cls and correlation modules while streamlining contribution and version management processes.
✨ What's New
🧠 Automated Version Control — Implemented automatic version dumps into pyproject.toml, ensuring version consistency across development and deployment.
📋 Improved Issue Templates — Updated GitHub issue templates to include assignee fields, simplifying task management and improving collaboration.
📈 Enhanced Cosmology Modules — Fixed subtle issues in pseudo-Cls and and photo 2pcf, improving internal accuracy and consistency for cosmological likelihood calculations.
💻 Developer Experience Upgrades — Added .prettierignore to maintain clean formatting across PRs, and improved CI/CD configuration for smoother contributions.
📚 Contributor Documentation — Expanded contributor recognition and updated contributor lists to better reflect team efforts and collaboration.
🧹 Bug Fixes & Cleanup
- Fixed bug in pseudo-Cls computation (
gh-306) improving galaxy–galaxy lensing consistency. - Corrected spin correlation function ordering in
PBJ_spectro.py(gh-316). - Fixed typo in
cosmologyrdragfitting function (gh-301). - Updated and refined documentation contributors and bug-fix credits.
⚠️ Breaking Changes
No breaking changes introduced in this release. All updates are backward compatible.
👥 New Contributors
@josecolomanadal @GabrieleParimbelli made their first contribution in #307
📄 Full Changelog
Full Changelog: v0.9...v0.9.1
What's Changed
- docs: add pburger112 as a contributor for code, and ideas by @allcontributors[bot] in #288
- gh-298: added .prettierignore by @gcanasherrera in #299
- docs: add davidesciotti as a contributor for bug by @allcontributors[bot] in #305
- gh-266: jax 64 bits by @ippoppi in #300
- docs: add pburger112 as a contributor for bug by @allcontributors[bot] in #295
- docs: add ahallcosmo as a contributor for ideas by @allcontributors[bot] in #297
- gh-306: modified bug in pseudo Cls by @josecolomanadal in #307
- docs: add GabrieleParimbelli as a contributor for bug by @allcontributors[bot] in #308
- docs: add josecolomanadal as a contributor for code, and bug by @allcontributors[bot] in #310
- gh-312: Modify issue template for assignee field by @gcanasherrera in #313
- gh-301: typo in cosmologyrdrag fitting function by @marcobonici in #303
- gh-319: Fixed Pk2d_term_rsd in PBJ_spectro.py by @chiaramoretti in #320
- gh-318: enable automatic version dump into pyproject.toml by @gcanasherrera in #324
- gh-316: fixed bug in spin correlation function ordering by @gcanasherrera in #317
New Contributors
- @josecolomanadal made their first contribution in #307
Full Changelog: v0.9...v0.9.1
v0.9
🚀 Release Summary
This release delivers critical bug fixes, expanded parameter exposure, and improved data compatibility, continuing our mission to streamline cosmological analysis and development.
✨ What's New
🌌 Cosmology Toolkit Expansion — Exposed neutrino-related parameters for greater flexibility in cosmological model building and forecasts.
🐍 Enhanced Python Interface — Updated PR templates and CI workflows for smoother contributions and streamlined Python development experience.
🔧 Improved Integration Capabilities — Saved Cls and pseudo-Cls in cosmolib-compatible format, ensuring seamless integration across cosmology pipelines.
📊 cloelike Module Updates — Adapted correlation function formats to align with the latest Cells structure, ensuring consistency with likelihood evaluations.
📈 Interactive Playground — Contributor recognition updates and documentation improvements, supporting collaborative development and user onboarding.
🧹 Bug Fixes & Cleanup
Fixed issues in pseudo-Cls computation for galaxy–galaxy lensing, corrected the volume element calculation, and ensured consistent classy versioning in CI. Cls format adapted to final Euclid LE3 format.
⚠️ Breaking Changes
Be aware that new parameters for neutrinos have been added to the Background protocol, and therefore, your scripts or notebooks would need to be updated.
👥 New Contributors
@arthurmloureiro made their first contribution in #265
@JaimeRZP made their first review of the code
📄 Full Changelog
Full Changelog: v0.8.2...v0.9
v0.8.2
What's Changed
- gh-168: pydocstyle by @stefanodavini in #175
- gh-181: add all contributors bot by @gcanasherrera in #182
- gh-179: Added function for convolution of building blocks, plus minor editing… by @AndreaPezzotta in #180
- docs: add itutusaus as a contributor for review by @allcontributors in #184
- docs: add ahallcosmo as a contributor for bug by @allcontributors in #185
- docs: add llinke1 as a contributor for code by @allcontributors in #186
- docs: add DavidNavarroG as a contributor for doc by @allcontributors in #187
- docs: add stefanodavini as a contributor for code, doc, and test by @allcontributors in #188
- docs: add gcanasherrera as a contributor for code, maintenance, and 10 more by @allcontributors in #189
- docs: add marcobonici as a contributor for code, maintenance, and 9 more by @allcontributors in #190
- docs: add chiaramoretti as a contributor for code, maintenance, and 5 more by @allcontributors in #191
- docs: add AndreaPezzotta as a contributor for code, maintenance, and 6 more by @allcontributors in #192
- docs: add santiagocasas as a contributor for code, maintenance, and ideas by @allcontributors in #193
- docs: add PedroCarrilho as a contributor for code, maintenance, and 6 more by @allcontributors in #194
- docs: add ntessore as a contributor for tool, mentoring, and 2 more by @allcontributors in #195
- docs: add sfarrens as a contributor for tool, mentoring, and 2 more by @allcontributors in #196
- docs: add josecolomanadal as a contributor for bug by @allcontributors in #198
- gh-199: Updated structure of BAO dictionary by @chiaramoretti in #201
- gh-205: Change CAMB dark energy model from default fluid to ppf by @PedroCarrilho in #206
- gh-167: check compatibility of lax conditional and cached objects by @marcobonici in #197
- gh-163: avoid CMB computations from CAMB by @gcanasherrera in #207
- gh-163: avoid unnecessary cmb computations in camb (previous bug found) by @gcanasherrera in #208
- gh-163: camb_cosmology.py typo found due to .git by @gcanasherrera in #210
- gh-209: Updated readme with fix for pip install issue by @caspervedder in #211
- docs: add caspervedder as a contributor for code, ideas, and bug by @allcontributors in #212
New Contributors
- @allcontributors made their first contribution in #184
- @caspervedder made their first contribution in #211
Full Changelog: v0.8.1...v0.8.2
v0.8.1
🚀 cloelib Release v0.8.1
This release introduces enhanced photometric and spectroscopic features, including new photometric nuisance parameters and analytical marginalisation for the full-shape spectroscopic galaxy clustering. It also adds new observables, such as photometric two-point correlation functions and spectroscopic BAO measurements. This version replicates the behaviour of CLOE v2.0.2 and expands its capabilities further. The license of the project has been changed to MIT.
✨ What's New
- 🌌 Cosmology Toolkit Expansion — spectroscopic galaxy clustering full-shape analytical marginalisation, multiplicative, magnification and per-bin redshift bin photometric nuisance parameters, 2-point correlation functions for photometric probes and spectroscopoic BAOs.
- 🐍 Enhanced Python Interface — further integration with python protocols and new unit test framework.
- 🔧 Improved Integration Capabilities —
cloelibnow works with the latestcomet-emuversion. - 📊
cloelikeModule Updates — this version will interface smoothly withcloelike - 📈 Interactive Playground — new notebooks and examples available in the
playgroundrepository - ⚡️ Experimental JAX Backend — most of new functionalities are still JAX-compatible.
🛠️ What's Changed
- gh-137: Fixed interface of comet functions by @AndreaPezzotta in #138
- gh-146: Specify latest stable version in README.md by @DavidNavarroG in #147
- gh-126: Added release.yaml for future releases (pre-defined) by @gcanasherrera in #144
- gh-51: implementation of photometric systematics by @gcanasherrera in #142
- gh-140: Added function to compute the Legendre multipoles of a specific diagr… by @AndreaPezzotta in #141
- gh-85: add correlation function class within summary statistics by @llinke1 in #92
- gh-149: Changing license to MIT by @gcanasherrera in #153
- gh-154:fix-bug-with-curvature-in-comet-interface-and-noise-terms-in-legendre-multipoles by @AndreaPezzotta in #155
- gh-157: normalization of nz after shift by @marcobonici in #159
- gh-158: bug in shifted nz by @marcobonici in #160
- gh-57: cosmology from bao by @chiaramoretti in #161
- gh-40: implement unit test framework by @stefanodavini in #162
- gh-164: v0.8 release by @gcanasherrera in #166
- gh-171: Add missing names by @gcanasherrera in #172
- gh-170: Fix bug in n(z) normalisation by @PedroCarrilho and @gcanasherrera in #173
⚠️ Breaking Changes
- Some names of functions have been changed with respect to the previous version (i.e:
get_magnification_windowis nowget_window_magnification). Please update to this last version and re-clone theplaygroundrepository.
📄 Full Changelog
Check the release with respect to 0.7.2: v0.7.2...v0.8
Check the release with respect to 0.8 (only minor unit tests + docs): v0.8...v0.8.1
🧹 New Contributors in v0.8+
- @DavidNavarroG made their first contribution in #147
- @llinke1 made their first contribution in #92
- @stefanodavini made their first contribution in #162
v0.8
🚀 cloelib Release v0.8
This release introduces enhanced photometric and spectroscopic features, including new photometric nuisance parameters and analytical marginalisation for the full-shape spectroscopic galaxy clustering. It also adds new observables, such as photometric two-point correlation functions and spectroscopic BAO measurements. This version replicates the behaviour of CLOE v2.0.2 and expands its capabilities further. The license of the project has been changed to MIT.
✨ What's New
- 🌌 Cosmology Toolkit Expansion — spectroscopic galaxy clustering full-shape analytical marginalisation, multiplicative, magnification and per-bin redshift bin photometric nuisance parameters, 2-point correlation functions for photometric probes and spectroscopoic BAOs.
- 🐍 Enhanced Python Interface — further integration with python protocols and new unit test framework.
- 🔧 Improved Integration Capabilities —
cloelibnow works with the latestcomet-emuversion. - 📊
cloelikeModule Updates — this version will interface smoothly withcloelike - 📈 Interactive Playground — new notebooks and examples available in the
playgroundrepository - ⚡️ Experimental JAX Backend — most of new functionalities are still JAX-compatible.
🛠️ What's Changed
- gh-137: Fixed interface of comet functions by @AndreaPezzotta in #138
- gh-146: Specify latest stable version in README.md by @DavidNavarroG in #147
- gh-126: Added release.yaml for future releases (pre-defined) by @gcanasherrera in #144
- gh-51: implementation of photometric systematics by @gcanasherrera in #142
- gh-140: Added function to compute the Legendre multipoles of a specific diagr… by @AndreaPezzotta in #141
- gh-85: add correlation function class within summary statistics by @llinke1 in #92
- gh-149: Changing license to MIT by @gcanasherrera in #153
- gh-154:fix-bug-with-curvature-in-comet-interface-and-noise-terms-in-legendre-multipoles by @AndreaPezzotta in #155
- gh-157: normalization of nz after shift by @marcobonici in #159
- gh-158: bug in shifted nz by @marcobonici in #160
- gh-57: cosmology from bao by @chiaramoretti in #161
- gh-40: implement unit test framework by @stefanodavini in #162
- gh-164: v0.8 release by @gcanasherrera in #166
⚠️ Breaking Changes
- Some names of functions have been changed with respect to the previous version (i.e:
get_magnification_windowis nowget_window_magnification). Please update to this last version and re-clone theplaygroundrepository.
📄 Full Changelog
Check v0.7.2...v0.8
🧹 New Contributors
- @DavidNavarroG made their first contribution in #147
- @llinke1 made their first contribution in #92
- @stefanodavini made their first contribution in #162
v0.7.2
What's Changed
Bug fix
- gh-135: include contribution from massive neutrinos in lensing tracer kernels by @marcobonici in #136 (spotted by @ahallcosmo)
Full Changelog: v0.7.1...v0.7.2
v0.7.1
🚀 cloelib Release: v0.7.1
This release introduces new features and smoother workflows for working with Euclid's large-scale structure (LSS) observables.
✨ What's New
- 🌌 Stable Euclid LSS Plots: Effortlessly visualize key observables like weak lensing and galaxy clustering.
- 🐍 Pythonic Protocols: Intuitive class structure for
Background,Perturbations,Tracers, andSummaryStatisticsmakes model-building and integration easier. - 🔧 Seamless Integration: Compatible with CAMB, CLASS, emulators, and spectro codes (PBJ & Comet) for smooth handling of all cosmological ingredients.
- 📊 Photometric Data Ready: Native support for
euclidlibv2025.1 — including redshift binning, mixing matrices, and power spectrum input. - 📈 Comprehensive Systematics: Full-shape modeling for spectroscopic clustering; photometric angular spectra include intrinsic alignment and linear bias effects.
- 🧩 Playground Ready: Plug into the cloe-org playground to experiment and learn.
- ⚡️ JAX Support: Includes JAX-native calculation of photometric observables and a toy model using
jax_cosmo.
🛠️ Bug Fixes
- 🔧 gh-132: Fix merge issue with class
by @santiagocasas in #131
📄 Full Changelog
v0.7
🚀 cloelib New Release: v0.7!
This version brings features for plotting and playing with Euclid's large-scale structure primary observables:
🌌 Stable Euclid LSS Plots: Visualize key observables like weak lensing and galaxy clustering effortlessly.
🐍 User-Friendly Python Protocols: A sleek, intuitive structure for Background, Perturbations, Tracers, and Summary Statistics to integrate your software and move around.
🔧 Seamless Integration: Works with CAMB, CLASS, emulators, and spectro codes (PBJ & Comet) for smooth Background, Perturbations, and Observable handling.
📊 Photometric Data Ready: Direct integration with euclidlib v2025.1 for galaxy redshift bins, power spectra, and mixing matrices.
📈 Comprehensive Systematics: Spectroscopic galaxy clustering with full shape systematics, plus select effects for photometric angular power spectra (intrinsic alignment, linear bias).
🧩 Playground Integration: Explore with cloe-org's playground repository for learning.
v0.1.0
- Interfaces with JAX and CAMB
- Implements photometric observables (3x2pt, with IA)