|
|
|
|
Changelog for libwcs8-8.2.2-1.3.x86_64.rpm :
* Sat Dec 09 2023 Ben Greiner - Update to 8.2.2 * In prj.c, a number of variables with global scope that are only used internally were declared static to avoid namespace conflicts arising in Link Time Optimization (LTO) builds of the Rwcs wrappers. This is a patch release as it does not affect the library itself other than in localising some symbols that were never meant to be global. Reported by Rodrigo Carrizo with patch. Likewise for an internally used helper function, prjoff(). Likewise for a handful of variables in cel.c, dis.c, lin.c, tab.c, wcs.c, wcsfix.c, and wcshdr.c.- WCSLIB version 8.2 * In wcshdo(), fixed character buffer overflows in the comment string for the longitude and latitude axes triggered by some projections, and also the formatting for generic coordinate systems. Reported by Shu Niu.- WCSLIB version 8.1 * Changes in the contents of the auxprm struct (in 8.0 beta) necessitated incrementing the major version number from 7 to 8, i.e. the ABI changed. Took the opportunity for minor tweaks to wcsprm and disprm. [#]# C library * In disprm, changed the order of maxdis and totdis to ensure correct alignment of doubles on 32-bit machines. [#]# Fortran wrappers * Match changes to disprm in the C library. * In the Fortran test suite, inserted a brief pause between plots in tprj2, tspc, and tpih2, which have long been a blur. [#]# PGSBOX * Quell innocuous compiler warnings from gfortran 12.1.0. Inserted a brief pause between plots in pgtest and cpgtest.- WCSLIB version 8.0 beta * Beta test version, not publically released. [#]# C library * Support planetary keywords A_RADIUS, B_RADIUS, C_RADIUS, BLON_OBS, BLAT_OBS, and BDIS_OBS in auxprm by analogy with the Solar keywords added at 7.1. Requested by Chiara Marmo (Observatoire de Paris). * Added wcsprm::time to the wcsprm struct to record the TIME axis number (along with lng, lat, and spec). * Fixed a bug in wcspih() and wcsbth() where trailing blanks were not stripped from string keyvalues. Reported by Naveen Dukiya. Changed test program tdis3 to test this. * Fixed a problem affecting thread safety in disp2x(), disx2p(), and diswarp(). Reported by Mohammad Akhlaghi. [#]# Fortran wrappers * Match changes to the C library supporting planetary keywords in auxprm and the addition of wcsprm::time. * Tue Oct 11 2022 Asterios Dramis - Update to version 7.12: * C library - In wcsp2s() and wcss2p(), fixed handling of status returns from linp2x() and linx2p() relating to distortion functions, specifically with respect to setting the stat[] vector. Reported by Sepideh Eskandarlou (via Mohammad Akhlaghi). - When extracting by axis type, wcssub() did not account for the possibility of time axes with -TAB or -LOG algorithm codes. Reported by Mihai Cara. * Utilities - Fixed a bit of confusion in wcsgrid relating to cfitsio file opening syntax, e.g. file.fits+1. It now matches wcsware in that regard. - Portability fix - need to define _POSIX_C_SOURCE as 199506L in order to get the declaration of localtime_r(). Reported by Marc Espie. * User manual - Documentation generation moved to doxygen 1.9.5 (was 1.9.3). * Thu May 05 2022 Asterios Dramis - Update to version 7.11: * C library - In tabini(), the default index array should contain a 1-relative sequence: {1, 2,... N}. Previously it was 0-relative. From version 7.10: * C library - In tabcpy(), collapse degenerate table index arrays if they are collapsed in the source struct. Minor fix for output formatting in tabprt(). - In the C test suite, added calls to wcstrim() in twcsfix to tidy the structs before printing. * Utilities - The default option in wcsware now trims the wcsprm struct before printing it. Use the \'-p\' option to print the untrimmed struct. From version 7.9: * C library - In wcsset(), bug fix for identifying time coordinate axes. Reported by Mihai Cara with patch. From version 7.8: * C library - In wcssub(), bug fix for tabular coordinates that change axis number, thus requiring tabprm::map to be updated. Reported by Mihai Cara with patch. Also in wcssub(): - check that all axes of a multi-dimensional table are extracted together, - fixed potential memory leaks for tabular coordinate axes when an attempt to subimage non-separable axes fails, - the error messages for non-separable coordinate systems are generally more informative, - subimage extraction by coordinate type now recognises time coordinate axis types via WCSSUB_TIME. - wcsset() now identifies time coordinate axes in wcsprm::types. - Extended test program twcssub to test the above modifications. * Installation - Bug fix in the utils makefile for creating $(MANDIR)/man1. Reported by Aleksander Kurek. - Bug fix in the Fortran makefile for compiling and using \'tofits\'. Reported by Stefan Br�ns. * User manual - Documentation generation moved to doxygen 1.9.3 (was 1.9.1).- Removed 0001-Fix-utils-tofits-location-in-Fortran-GNUmakefile.patch (fixed upstream).- Don\'t use %configure macro for building i586 package (it makes tests fail). * Wed Nov 10 2021 Stefan Brüns - Update to version 7.7, for details see: https://www.atnf.csiro.au/people/mcalabre/WCS/CHANGES- Remove workarounds for gfortran 10/11- Add 0001-Fix-utils-tofits-location-in-Fortran-GNUmakefile.patch * Wed Jun 16 2021 Asterios Dramis - Update to version 7.6: * C library - Bug fix in tabs2x() triggered for 1-dimensional coordinate lookup tables on axes > 1. Reported by Mihai Cara. - In datfix(), don\'t return status 0 if no change was made (fix for change made at release 7.4). Reported by Derek Homeier. - New function wcspcx() in the wcsfix suite regularizes the linear transformation component of a coordinate description to make it more human-readable. It decomposes CDi_ja into PCi_ja and CDELTia in such a way that CDELTia forms meaningful scaling parameters, often leaving an orthogonal or near-orthogonal matrix. Optionally, it can then permute rows of this matrix to unscramble axis permutations. A test header may be generated from wcspcx.keyrec for input to wcsware (not exercised as part of the standard test suite). - New function wcstrim() frees memory allocated by wcsinit() for arrays in a wcsprm struct that remain unused after the struct has been set up. - New functions wcssize(), auxsize(), tabsize(), linsize(), dissize(), celsize(), prjsize(), spcsize(), and wcserr_size() compute the total size of the relevant structs, including allocated memory. - In the C test suite, inserted a brief pause in tprj2 and tspc, which otherwise have now become a blur. * Fortran wrappers - Added wrappers for wcspcx(), wcstrim(), wcssize(), auxsize(), tabsize(), linsize(), dissize(), celsize(), prjsize(), spcsize(), and wcserr_size(). * Utilities - Added -c, -cp, -C, and -Cp options to wcsware to apply wcspcx() in a variety of ways, -m to apply wcstrim(), and -z to report the total size of the wcsprm struct with a breakdown of the sizes of its constituent structs. - Fixed compiler warnings for sundazel (portability issue). * Installation - Upped the required version of Flex to 2.6.0 (was 2.5.9). Problems with Flex 2.5.39 reported by Derek Homeier. Also added \'--disable-flex\' as a new configure option to force the use of the pre-generated Flex sources. From version 7.5: * The C code in WCSLIB is moving piecemeal to the C99 standard. In fact, various indispensible C99 constructs have been used in WCSLIB for many years: the long long int data type (in fitshdr() only); stdint.h, inttypes.h, and the use of PRI formatting control (in wcsprintf(), which is widely used by the library); and the C99-extended library function vsnprintf() (used by wcserr for a decade). Flex-generated C code also uses C99 extensions, though with workarounds if they are not available. Except in the header prologues, which are formatted in a special way for generating the user manual, comments were changed en masse to C99 style in release 7.3.1, and variable declarations in code that I have occasion to modify will transition to the more general placement allowed by C99. However, there are no plans to use any of the more esoteric features of C99. * C library - New function, wcsccs(), changes the celestial coordinate system of a wcsprm struct, for example, from equatorial to galactic coordinates. The parameters that define the spherical coordinate transformation must be provided. This allows WCSLIB to provide this functionality without needing to know anything about specific celestial coordinate systems, and has the advantage of making the routine completely general. Requested by Mohammad Akhlaghi. Modified test program twcsfix also to test wcsccs(). - Fixed a problem common to all of the Flex code (fitshdr, wcsbth, wcspih, wcsulex, and wcsutrn) that made it thread-unsafe. Reported by Cyril Richard. Added a new test program, tpthreads, to test thread safety. It is only used for code development, and not exercised as part of the standard test suite. - In fitshdr(), fixed a problem that potentially could arise on systems where sizeof(long long int) is greater than 8 (64 bits). * Fortran wrappers - Match changes to the C library: added a wrapper for wcsccs(), and modified twcsfix.f. - Because null addresses cannot be passed to functions in Fortran, wcssub_() now interprets *nsub == -1 && *axes == -1 as a signal to do a deep copy of one wcsprm struct to another. * Utilities - New utility, sundazel, computes the local time of the Sun\'s passage through the specified apparent longitude or latitude in a user-defined coordinate system. It can also perform several other Solar related calculations. (It is unrelated to FITS WCS, and does not use WCSLIB.) * Installation - Added an \'uninstall\' rule to the makefiles. Suggested by Cyril Richard. * Mon Mar 01 2021 Asterios Dramis - Update to version 7.4: * C library - In wcshdo(), fixed a bug introduced in release 5.9 that potentially caused loss of numerical precision in the sprintf() formatting of floating point keyvalues. This was triggered when a large range of CRPIXja, PCi_ja, or CDELTia values (as three separate groups) were formatted using an \'f\'\' format descriptor, the range not being so large that it would have forced wcshdo() to revert to \'E\' format. Reported by Mohammad Akhlaghi. Also in wcshdo(), fixed a bug introduced in release 7.1 that caused the coefficients of the TPD distortion function not to be written to the header. TPD and Polynomial distortion function headers will now always include the DPja.DOCORR keyword. Reported by Derek Homeier with patch. - In wcsset(), fixed a segv generated in attempting to report a non-standard units string with wcserr message reporting disabled. Reported by Mohammad Akhlaghi. In wcsutrne(), allow \'Angstroms\' and \'angstroms\' as additional synonyms for \'Angstrom\'. - In datfix(), ensure that 0 is returned if an informational message is set in wcsprm::err. Consequent on feedback independently from Mihai Cara and Bruce Merry. Clarified that informational messages may be set in wcsprm::err for returns of 0 from datfix(), obsfix(), unitfix(), and spcfix(). * User manual - Added cautions about translating CDi_ja to PCi_ja plus CDELTia for those historical distortion functions (TPV, TNX, ZPX) that expect to operate on intermediate world coordinates, rather than intermediate pixel coordinates. Consequent on feedback from Mohammad Akhlaghi. - Documentation generation moved to doxygen 1.9.1 (was 1.8.19). * Tue Sep 01 2020 Dirk Mueller - update to 7.3.1: * There are no functional changes in this release. - Changed all C code, including within the flex sources, Fortran and PGSBOX wrappers, and test suite, to use C99 style commenting (i.e. using //), excluding the header prologues used to generate the user manual. - Documentation generation moved to doxygen 1.8.19 (was 1.8.18). * Mon Jul 06 2020 Benjamin Greiner - Update to version 7.3 * C library - wcshdo() was writing MJD-OBS twice to the header, and MJD-BEG not at all. - In wcshdo(), if MJDREF assumes its default value, just write MJDREF = 0 (not MJDREFI & MJDREFF), and omit writing DATEREF, which, with a value of \'1858-11-17\', looks strange and is potentially confusing. Reported by Thomas Robitaille. If the fractional part of MJDREF is zero, then just write the integer part as MJDREF (i.e. not as MJDREFI & MJDREFF). - Bug fix in wcsfix() - it was writing error messages that referred to DATE-REF and MJD-REF rather then DATEREF and MJDREF. Reported by Mihai Cara. - Under control of a new flag, WCSHDR_DATEREF, added the option to wcspih() and wcsbth() to accept DATE-REF, MJD-REF, MJD-REFI, MJD-REFF, JDREF, JD-REFI, and JD-REFF as synonyms for the standard keywords, DATEREF, MJDREF, MJDREFI, MJDREFF, JDREF, JDREFI, and JDREFF. The latter buck the pattern set by the other date keywords ({DATE,MJD}-{OBS,BEG,AVG,END}), thereby increasing the potential for confusion and error. * Fortran wrappers - As compilers are becoming much stricter (gfortran 10), modified all Fortran test programs to use the type-specific equivalents of the various *PUT and *GET routines. Reported by Ole Streicher. - For the fitshdr wrappers, added type-specific equivalents of KEYGET: KEYGTI, KEYGTD, and KEYGTC. * PGSBOX - Modified pgtest to use the type-specific equivalents of WCSPUT. * User manual - In the section \"WCSLIB Fortran wrappers\", promoted use of the type-specific equivalents of the various *PUT and *GET routines. - In the section \"FITS-WCS and related software\", added ASCL and ADS codes, where they exist, for all software packages mentioned. - Documentation generation moved to doxygen 1.8.18 (was 1.8.17).- Allow fortran argument mismatches in rank and type to pass the tests. * Tue Jun 02 2020 Asterios Dramis - Update to version 7.2: * C library - In wcssub(), fixed a bug relating to handling coordinate lookup tables. Reported by Mihai Cara with fix. Also increased the number of coordinate axes handled from 10 to 32. * Installation - New configure option, --disable-shared, defeats generation of the sharable library. Version 7.1: Changes in the contents of the wcsprm struct necessitated incrementing the major version number from 6 to 7 (i.e. the ABI changed). * C library - In wcsset(), set wcsprm::mjdref[] to zero if neither it nor wcsprm::dateref are defined, as per the standard. Reported by Thomas Robitaille. wcsset() now also checks that the number of coordinate axes does not exceed 32. - In tabs2x(), fixed an out-of-bounds array access produced by invalid world coordinates. Reported by Mihai Cara and Michael Seifert. In tab.c, declare static three helper functions, tabedge(), tabrow(), and tabvox(), used by tabs2x(). Increased the number of coordinate axes handled by tabvox() from 16 to 32. - Extended datfix() to handle MJDREF/DATEREF, overlooked in the changes in release 6.1. Also fixed the handling of MJD < 0. - Support Solar keywords RSUN_REF, DSUN_OBS, CRLN_OBS, CRLT_OBS, HGLN_OBS, and HGLT_OBS by accomodating them within an auxiliary struct, auxprm, within the wcsprm struct. Now filled by the header parsers, wcspih() and wcsbth() and handled routinely by wcsinit(), wcssub(), wcscompare(), wcsfree(), wcsprt(), wcsset(), and wcshdo(). Requested by Stuart Mumford (SunPy) with input from Bill Thompson. - Bug fix in wcsprintf_set() for resetting the output disposition. Reported by Mihai Cara with patch. - In dis.{h,c}, the DOCORR record is now handled as a first-class value via disprm::docorr. This required changing the struct. - In cel.c, spc.c, wcserr.c, wcsfix.c, wcshdr.c, and wcsutil.c, quelled compiler warnings from gcc 9.2.0 generated by - Wmaybe-uninitialized and -Wstringop-truncation (via - Wall). Similarly for various programs in the test suite. - In various functions, quelled warnings from the Microsoft Visual C++ compiler, mostly relating to pointer arithmetic. Reported by Michael Seifert. * Fortran wrappers - Handled compiler warnings from gcc 9.2.0 generated by - Wstringop-truncation (via -Wall). - Minor enhancements to character argument handling, including, in prjget_(), blank-filling the returned strings matching PRJ_CODE and PRJ_NAME, and likewise for SPC_TYPE and SPC_CODE in spcget_(). * Utilities - In wcsgrid, handled compiler warnings from gcc 9.2.0 generated by -Wstringop-truncation (via -Wall). * User manual - In the section on \"FITS-WCS and related software\", added mention of the R wrappers (Rwcs). Suggested by Aaron Robotham. - Added a new section detailing the limit on the number of image axes that WCSLIB can handle (currently 32), and how this could be increased if needed. Prompted by Thomas Robitaille. - Augmented the section on the Fortran wrappers, particularly with respect to character string handling in argument lists. - Documentation generation moved to doxygen 1.8.17 (was 1.8.16). * Sun Nov 10 2019 Stefan Brüns - Update to version 6.4 (2019/08/15): * Installation - The rule change to the Fortran makefile in v6.3 to add getwcstab_f.o to the sharable library causes it to depend on CFITSIO to resolve fits_get_wcstab(). Hence backed out of that change. * User manual - Documentation generation moved to doxygen 1.8.16 (was 1.8.14).- Update to version 6.3 (2019/07/12) * C library - Fixed the Polynomial and TPD distortions so that, as stipulated in WCS Paper IV, they are now considered to return an additive correction to be applied to the given coordinates, rather than the corrected coordinates themselves. Added a new subsection to the prologue of dis.h entitled \'Historical idiosyncrasies\', which discusses this issue and other vagueries. Amended components of the test suite accordingly: SIPTPV.keyrec, TPV7.keyrec, and tdis1.c. - Fixed memory leaks and other potential problems that arose in the wcserr system consequent on changes made in release 6.1. Memory allocated by wcsfixi() for messages in the array of wcserr structs must now be freed by the caller. Amended twcsfix.c accordingly. - Plugged memory leaks arising in disset(). - New function wcsdealloc() provided to free memory allocated within certain WCSLIB routines. Suggested by David Motl. - Eliminated a swag of inconsequential compiler warnings, particularly those emanating from the flex sources. * Validation - The library, Fortran wrappers, utilities, and test programs now pass runtime analysis using -fsanitize=address and -fsanitize=undefined in gcc 8.3.0, in addition to valgrind. Also compile-time strictures using -std=c99, -pedantic, -Wall, -Wextra, and -DFORTIFY_SOURCE=2. Prompted by feedback from Ole Streicher. * Installation - The non-graphical tests now run reliably in parallel builds (make CHECK=nopgplot -j8 check). Requested by Mohammed Akhlaghi. The graphical tests can also be run in parallel, but as PGPLOT can only handle one stream at a time, some graphics are likely to be lost. Nevertheless, it is a useful option, especially with runtime analysis via -fsanitize=address, etc. - As CFITSIO doesn\'t provide a Fortran wrapper for fits_read_wcstab(), getwcstab_f.o is now always included in the WCSLIB object library and sharable library if CFITSIO is available (and the WCSLIB Fortran wrappers are required). Use \'configure --without-cfitsio\' to defeat this. - Tidied up some aspects of the build where CFITSIO is not available. * User manual - Fixed minor formatting problems in dis.h.
|
|
|