Newer versions of cfitsio require uppercase header names as a matter of standards conformance. This necessitates modifications to all code that is expecting to find lowercase or mixed-case names in a PropertyList derived from a FITS header; it should use an uppercase name instead. Code that is inserting into a PropertyList that is to be persisted as a FITS header should also use uppercase only for consistency. We will modify the afw FITS writing code to warn if lowercase characters are detected in headers.
Other PropertyList uses that have no FITS persistence can use any case as desired.
We would like to adopt a new version of cfitsio prior to Release 20.0 (which is expected to be release at the end of May 2020), rather than having a one-release transition period, as this change enables the nearly-complete use of conda and conda-forge for the third-party dependencies of the Science Pipelines stack and use of the conda compilers for building it.
This RFC explicitly permits the use of the new cfitsio for Release 20.0 instead of 21.0.