What's Changed
Bug Fixes
- JAX compilation cache not reset after cleanup: After
shutil.rmtreeremoved the JAX cache directory,jax_compilation_cache_dirwas left pointing at the deleted path, causingFileNotFoundErroron subsequent JIT calls and breaking FlowMC's cache guard. It is now reset toNone(the correct "no cache" signal) after cleanup. The missing reset in SMC's_run_adaptive_persistenthas also been fixed. - Duplicate log output: Restored
propagate=Falseon thejimgwlogger (accidentally dropped in a previous commit) to prevent messages appearing twice whenbasicConfigalso installs a root handler.
Improvements
- Tighter scalar type annotations: Introduced a
FloatScalartype alias (src/jimgw/typing.py) and applied it consistently across likelihood, prior, transform, sampler, and core utilities. Return types now correctly reflect native Python/JAX scalars rather than genericFloat. - Corner plot: injection log-likelihood: The CLI corner plot now annotates the injection truth value with its log-likelihood.
- Corner plot: random subsampling: Switched from head-slice to random subsampling when downsampling posterior samples for plotting, giving a more representative visual.
- CLI output: package versions in diagnostics: Jim now logs key package versions (
jimgw,jax,ripple, etc.) at startup and writes them todiagnostics.json. - Reduced default CLI output sample size: Lowers memory pressure and plotting time for large runs.
- Plotting dependencies promoted to core:
matplotliband related packages moved from optional extras to the main dependency list sojim-runoutput works out of the box.
Documentation
- Added a Citing Jim page (
docs/citing.md) with BibTeX entries and guidance on which upstream works to cite. - Added a new Out-of-Memory section to the FAQ with backend-agnostic troubleshooting steps.
- Fixed the nested-sampling installation guide.
- Added copy buttons to documentation code blocks.
- Added Contributing page to the docs index.
- Updated repository URLs following the
GW-JAX-Team/jim→JimGitHub rename. - Clarified that the upstream (
pycbc/ original) is no longer maintained.
CI / Infrastructure
- Added TestPyPI publish job and automatic dev-release tagging for commits on the dev branch.
- Added scheduled weekly
pre-commit autoupdateworkflow. - Fixed shell injection,
persist-credentials, and workflow permission issues in CI. - Set
fallback-version = "0.0.0"and strip local version identifiers so TestPyPI uploads don't fail.
Full Changelog: v0.4.0...v0.4.1