--- categories: - healpy - python date: '2025-12-11' layout: post title: Release of healpy 1.19.0 --- I am pleased to announce the release of healpy 1.19.0. This release includes a large number of fixes and improvements, many of which were made possible by adopting an "agentic" workflow. As detailed in my [recent blog post]({{< relref "2025-11-10-agentic-scientific-software-development.md" >}}), I have been using AI coding agents to help triage and fix issues, allowing us to close old bugs and improve the codebase significantly. You can install the new version from [PyPI](https://pypi.org/project/healpy/1.19.0/): ```bash pip install healpy==1.19.0 ``` Or from [conda-forge](https://anaconda.org/conda-forge/healpy): ```bash conda install -c conda-forge healpy ``` ## Breaking Change in `blm_gauss` This release includes one breaking change that users should be aware of. The `blm_gauss()` function has been updated to use the `l(l+1)` formula, making it consistent with `gauss_beam()` and the standard definition from Challinor et al. 2000 (astro-ph/0008228). Previously, it used the `l^2` formula from the LevelS Beam package. **Impact:** This change affects the computed spherical harmonic coefficients for Gaussian beams. If you rely on the exact values produced by `blm_gauss()` for precise beam modeling, you should check if this change affects your results. The new implementation is more accurate and consistent with other tools in the ecosystem. ## Summary of Changes Here is a summary of the key changes in this release: * **Projections and Plotting:** * [Fixed `projscatter`, `projplot`, and `projtext` to only draw on the current axes instead of all subplots](https://github.com/healpy/healpy/pull/637). * [Fixed the Lambert projection in `projview` which was displaying the lower half of the sky incorrectly](https://github.com/healpy/healpy/pull/869). * [Added half-sky plotting support for the Lambert projection via the `latra` parameter in `projview`](https://github.com/healpy/healpy/pull/1048). * [Fixed DPI and font size issues in `visufunc` and `newvisufunc`. Hard-coded font sizes were replaced with relative values ('large', 'medium') that scale with DPI, and `projview` now supports a `dpi` parameter](https://github.com/healpy/healpy/pull/1058). * **Pixel and Harmonic Operations:** * [Added support for automatically adjusting latitudes within the [-90, 90] range in `ang2pix`](https://github.com/healpy/healpy/pull/1026). * [Implemented `NESTED` ordering support in `query_strip`](https://github.com/healpy/healpy/pull/1025). * [`pixwin` now loads pixel window functions from a local datapath or downloads and caches them using `astropy`, similar to how pixel weights are handled](https://github.com/healpy/healpy/pull/1005). * [Fixed a `TypeError` in `alm2map` and `alm2map_der1` when using `complex64` input arrays](https://github.com/healpy/healpy/pull/827). * **I/O and Dependencies:** * [`write_cl` now supports arbitrary columns and an `extra_header` argument](https://github.com/healpy/healpy/pull/1038). * [Updated the bundled `CFITSIO` to version 4.6.3](https://github.com/healpy/healpy/pull/1042). * [Pinned Sphinx < 9 for documentation builds to avoid crashes on Read the Docs](https://github.com/healpy/healpy/pull/1067). * **Other Improvements:** * [`dist2holes` now allows ignoring small mask holes via pixel- and area-based thresholds](https://github.com/healpy/healpy/pull/1008). * Declared support for Python 3.14 in packaging and wheels. * [CI improvements: utilizing Matplotlib's bundled freetype for Linux wheels, simplifying testing on musllinux](https://github.com/healpy/healpy/pull/1061). For a full list of changes, please refer to the [CHANGELOG](https://github.com/healpy/healpy/blob/master/CHANGELOG.rst).