Skip to main content

Come analyze HEASARC, IRSA, and MAST data in the cloud! The Fornax Initiative is now welcoming all interested beta users.

Download HEASoft

********************************************************************************
                     RELEASE NOTES FOR HEASOFT 6.37.1
                            September 2, 2026
********************************************************************************

The HEASoft 6.37.1 bug-fix release primarily addresses issues in
Xspec and Xstar but includes other minor updates.

We continue to support installation of HEASoft from the source code
distribution, but starting with the 6.37 release we no longer offer
our traditional pre-compiled binaries and instead recommend installing
pre-built HEASoft tools via the Conda package manager:

 https://heasarc.gsfc.nasa.gov/docs/software/conda.html

Please note that HEASoft 6.37 is the last major release in which
we intend to provide the FITSViewer GUI ("FV").  Support for FV
will be discontinued in future releases in favor of a new utility
"fviewer", available now via 'pip':

 pip install fviewer

 https://heasarc.github.io/fviewer/

The fviewer utility is included for testing in our 6.37.x Conda packages.

********************************************************************************
                                   HEASPTOOLS
********************************************************************************

- ftextractor: Fixed a bug that preventing event files with differing
  WCS keywords from being combined.  Fixed unnecessary prompting for
  the ecol and stokes parameters.  Fixed the Q and U uncertainties
  and covariance for the simple and unweighted cases.

********************************************************************************
                                    XSELECT
********************************************************************************

- Fixed a bug that caused a previously-loaded file to be dropped
  when reading a third event file.

********************************************************************************
                                     XSPEC
********************************************************************************

Xspec 13.0.1 -- fixes
=====================

These are bug fixes to behaviour present in XSPEC 13.0.0 and, except
where noted, in earlier releases.

Models
------

  * The luminosity distance for a non-zero cosmological constant was
    evaluated with an approximation which was a few tenths of a percent
    low at the default Lambda_0=0.73 but 3-5% low at Lambda_0=0.9 where
    it incorrectly stopped rising with Lambda_0. The luminosity distance
    is now calculated by exact integration. The results of lumin, clumin,
    the cooling flow models, zkerrbb, and smaug all change by small amounts
    for the standard cosmological parameters. Lambda_0 is now allowed to
    be negative, although such a case is unlikely to be relevant.

  * The lower limit on clumin's Redshift parameter has been raised from
    -0.999 to 0 since z < 0 makes no sense for the model.

  * The nteea model could abort or crash for some parameter combinations.
    This is fixed and there are no changes for parameter values which
    worked previously.

Fitting and statistics
----------------------

  * With query on and no input left to read -- the end of a piped script,
    or a redirected input file that has run out -- the prompt asking
    whether to continue past the trial limit was answered with its default
    of yes. Each unanswered prompt re-armed the trial counter, so the fit
    ran without bound. End of input is now distinguished from an empty
    reply: the fit stops at its trial limit and reports that it has not
    converged.

  * nest crashed xspec with an invalid numeric argument, such as a negative
    number of live points (new in 13.0.0).

  * Two reads in the MCMC code were performed without checking the length
    of the array being read leading to potential problems.

  * Independent XSPEC processes started within the same second shared
    identical random number sequences, because the generator was seeded from
    the clock at one-second resolution. Simulations run in parallel from a
    script -- fakeit, goodness, and the parallel workers used by chain,
    nest and hmc -- could therefore repeat one another exactly. The seed
    is now drawn in a way that guarantees distinct random number sequences.
    Reproducibility on demand is unaffected: xset seed still repeats a run
    exactly, and nest reports the seed it used so a run can be repeated.

  * If error is run with the default option to restart if a new minimum
    is found then in rare circumstances it is possible for xspec to enter
    an infinite loop after finding a new minimum.

  * For the chistokes statistic, fixed incorrect handling of the case
    of a covariance matrix which was not positive definite.

Commands, scripting and PyXspec
-------------------------------

  * Under some unusual circumstances error and rerror could silently report
    the confidence range of the wrong parameter.

  * tclout chain stat crashed when no chain stat had been run, and tclout
    chain dic returned uninitialized values in the same situation. Both
    now report that the quantity has not been calculated. The two results
    are also discarded when the chains they describe are unloaded or
    replaced, instead of being reported for a different set of chains.

  * Several xset keyword names given in the documentation and in error
    messages did not match the names the code actually recognizes
    (new in 13.0.0).

  * energies with the log option and a low energy of 0 silently built a
    degenerate (NaN) energy grid.

********************************************************************************
                                     XSTAR
********************************************************************************

New version 2.59j:

- Fixes double-counting of absorption line broadening introduced by
  gsmooth.  Fixes treatment of opacity: Thomson opacity is stored as
  part of opakcont, so opakc needs to be initialized to zero.  Fixes
  an additional computational error associated with turbulent broadening.

********************************************************************************
                                    QDP/PLT
********************************************************************************

- Fixes defects from the Fortran to C++ conversion introduced in
  HEASoft 6.37

********************************************************************************
                                     ASCA
********************************************************************************

- mkfilter2: Fixed prototyping to address new compilation errors

********************************************************************************
                                   HEASoftPy
********************************************************************************

Version 1.6:

- HEASoftPy tasks now raise an exception if the task fails instead of
  returning silently and requiring users to check the return code.  To
  revert to the old behavior use the following:

    heasoftpy.Config.allow_failure = True

  Warnings regarding deprecated use of fcn.* have been removed

- Generate docs by parsing help files directly instead of calling fhelp

- Added fhelp() function to print detailed help text

- Find par files in $HEADAS/syspfiles if $PFILES is not found

- Switched from setuptools to hatchling for installation

********************************************************************************
                                     MISC.
********************************************************************************

- Conda packages for 6.37.1 are Torch-enabled for HEASP table-model support

- Added an FV-only Conda package and fixed help display

- Minor changes to Xselect, the HEAGen raytracing code, and the ASCA
  task 'mkfilter2' to address compilation issues with newer compilers

- Fixed issue in Giza-enabled builds that could result in header files
  not being found

- Fixed configuration bug that could cause different Fortran compilers
  to be used for different components