Skip to content

Releases: esheldon/fitsio

1.3.0

12 Nov 15:14
8035ed4

Choose a tag to compare

version 1.3.0

Changes

- Introduced a `fitsio.NOT_SET` singleton for some
  parameters whose defaults are deferred at the Python
  level and instead set at the C level by cfitsio. The
  image compression parameters now use this singleton.
  However, the actual underlying defaults used have not
  changed.
- Added a new function `fitsio.cfitsio_is_bundled()`
  that detects if the cfitsio library is bundled with
  the Python code.
- Enabled the code to track all cfitsio error messages,
  including those put onto the internal stack and then
  later removed. This feature should help with debugging.
- Added support for uint64 / ULONLONG data for binary tables
  and images. You need cfitsio version at least 4.1.0 (or
  to use the bundled cfitsio) for this feature to work.
- Installation of fitsio will fail if the `patch` command
  line utility is missing. To prevent this, set the environment
  variable `FITSIO_FAIL_ON_BAD_PATCHES=false`.
- The C code is now styled uniformly with clang-format.
- Updated bundled cfitsio to 4.6.3.
- Added utilities `cfitsio_has_bzip2_support` and
  `cfitsio_has_curl_support` to detect at run-time if cfitsio
  was built with these options.
- Added methods `delete_key` and `delete_keys` to HDUs to allow
  deleting header keys.
- HDU info loading is now done lazily.
- Changed string handling in python 3 to allow for correct
  null-terminated behavior when linking to external builds
  of cfitsio at version 4 or larger.

Bug Fixes

- Fixed incorrect/unspecified minimum python version,
  setting it to `>=3.8`.
- Fixed bug where we attempted to open `mem://` files
  as existing files when calling `fitsio.FITS.reopen`.
- Fixed a bug where compression parameters set in filenames
  were inconsistently applied, especially when compression
  parameters were specified in Python too. Now the code will
  raise an exception if a user sets Python keyword compression
  parameters while also using filename compression parameters.
  However, the `dither_seed` can be set from Python even if other
  compression parameters are specified in the filename.
- Fixed bugs in lossless GZIP compression of integer types. See the
  new patch `patches/imcompress.c.patch`. See https://github.com/HEASARC/cfitsio/pull/97
  and https://github.com/HEASARC/cfitsio/pull/98 for the upstream PR for the patch.
- Fixed a bug where compression parameters were cached across different HDUs.
- Fixed a bug where writing unsupported image types either did not raise an error
  or did not raise the correct error.
- Fixed a bug where rectangular subsets of images were not written properly.
- Fixed automatic detection of bzip2 and curl libraries.
- Fixed handling nan values when reading and writing compressed images.
- Fixed bug in cfitsio where underflows were cast to zero when handling
  nan values. See https://github.com/HEASARC/cfitsio/pull/102.
- Fixed bug in cfitsio where overwriting a tile-compressed image fails
  when the new values are not lossily compressed but the old values were.
  See https://github.com/HEASARC/cfitsio/pull/101.
- Fixed a bug where the FITS HDU properties could go out of sync as header
  keys were added, modified, etc.

1.2.8

15 Sep 19:38
87af823

Choose a tag to compare

What's Changed

  • feat: move to setuptools-scm version by @beckermr in #441
  • test: add test of unaligned array views by @beckermr in #440
  • fix: ensure arrays are aligned before calling fitsio functions by @petesmc in #436
  • fix: pypi uploads broke after setuptools-scm by @beckermr in #443
  • fix: remove hacking changes, fix bugs in wheel/pypi release, release 1.2.8 by @beckermr in #445

New Contributors

  • @petesmc made their first contribution in #436

Full Changelog: 1.2.7...1.2.8

1.2.7

03 Sep 18:09
5a280db

Choose a tag to compare

Updates fitsio to remove use of removed NPY_* constants

1.2.6

15 May 12:53
bde0550

Choose a tag to compare

This is a bug fix release

  • Fix bug parsing header cards with free-form strings
  • Fix writing and reading of string columns with length 1 vectors in numpy 2.

1.2.5

24 Jan 15:47
8cad13b

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.2.4...1.2.5

1.2.4

18 Jun 17:08
5b2cb45

Choose a tag to compare

Using cfitsio 4.4.1 release candidate which reverts to free license

1.2.3

13 Jun 00:10
90c286c

Choose a tag to compare

See CHANGES.md for release notes

1.2.2

10 Jun 19:12
bf983bb

Choose a tag to compare

See changelog for details

1.2.1

07 Nov 15:32
8e13bfe

Choose a tag to compare

Primarily a bug fix release dealing with lossless gzip

also added new fitsio.FITSFormatError raises for misformed files

1.2.0

02 Aug 15:34
429a023

Choose a tag to compare

Tagging 1.2.0

Changes

- move to cfitsio 4

Bug Fixes

- Fixed issue where the patched C fitsio headers were not
  first in the include path.
- Added extra header guards and headers to help with compilation issues.
- Fixed builds of the bundled cfitsio code to hide symbols and directly
  include the *.o files when linking.