IRAF 2.17 Release notes
- Authors:
IRAF Community
- Date:
January 07, 2022
The current IRAF version 2.17 is available from github at
https://github.com/iraf-community/iraf/releases/latest/
Changes to the NOAO 2.16.1 sources include:
Community maintainance
IRAF is no longer maintained by NOAO, but by the community of volunteers. Contributions of bug fixes, documentation or improvements are welcome.
All known non-free code removed
Although IRAF 2.16.1 was claimed to be “free software”, it contained source code that is not freely distributable; namely code copied from the book “Numerical Recipes in Fortran”. This code is replaced with free equivalents. The IRAF community edition is Open Source, and as such included in Debian.
IRAF ported to other architectures
IRAF is now ported to a number of little endian architectures (ARM, PowerPC, MIPS, x32, RISC-V64) and operating systems (GNU Hurd and FreeBSD). Specifically, the Mac M1 processor is supported now.
Major bug fixes
Many bugs of the 2.16.1 release are fixed. Some of he major ones are:
Linux systems crashed with “Out of memory” (2.12 release notes)
noao.digiphot.photcal.fitparams
failed with a segmentation fault on 64-bit systems (iraf.net#1467834)The system wide IRAF installation changed the permissions of
/tmp/
, creating a major security hole in the system (iraf-v216#23)On Linux systems, self-compiled tasks gave wrong results (iraf.net#1467841)
On modern systems, background execution did not work (iraf.net#1467431)
The original code produced errornous executables when build on Linux versions later than 2012. It also did not build from scratch, but required an already compiled IRAF version.
Simple CI test framework added
The tests are defined and documented in MarkDown files. Tests are run with Github Actions on Linux and MacOS X platforms.
VO package and vocl removed
The VO package, and the vocl shell heavily depend on a number of Java jars, where the creation from sources is undocumented. The package also uses outdated VO standards. A discussion with Mike Fitzpatrick resulted in his plan to move the VO functionality into an external package. Therefore, no attempt was put into getting these problems fixed, and the VO stuff was cut out. The VOTable functionality, however, remains available
Detailed list of changes
This list shows all pull requests that were merged since 2.16.1.
Since 2.16.1+2021.06.14
Consistently format doc/help examples (#195)
Fix some HTML help output glitches (#194)
Remove duplicate argument in call (#189)
Revert corruption of unix/os/net/rexec.c file (#180)
Force using POSIX shell in extpkg.cl script (#179)
Support freeBSD variants (#174)
Separate development (softools) packages (#172)
Remove obsolete tasks and links to iraf.noao.edu (#170)
Since 2.16.1+2018.11.01
Cleanup for unneeded and obsolete files (#166)
fix slalib bug in sla_EQEQX (#160)
Ignore existing iraf env var in ./install (#157)
Cleanup ecl and cl (#156)
Add macOS arm64 support (#131)
Replace hard-coded host$bin paths by IRAFPATH (#128)
Remove include/drvrsmem.h (#126)
Fix cpu_time calculation in unix/os/zgtime.c (#118, #136, #173)
Move zsvjmp assembler files to unix/os and merge them (#117)
Use PLT when calling sigsetjmp on i386 (#116)
Adjust external licenses (#115)
Definitely use flex to generate
unix/generix/lexyy.c
(#112)Avoid multiple definition of
errflag
(#111)Enable the use of Public Domain Ratfor to process
.r
files (#103, #171)Remove some C compiler warnings (#97)
Fix non-working fft841 code by replacing it (#95)
Add LAPACK license (#88)
Rename
mkfloat.sh
tomkfloat
(#87)Add support for the DEC Alpha processor (#79)
Fix and improve the shell scripts (#75, #76, #77, #85, #86, #113)
Since 2.16.1+2018.06.15
Add riscv64 support (#72)
Fix buffer length in
urlget.x
(#70)Mention Chisato Yamauchi as copyright owner of the x86_64
zsvjmp.s
code (#67)Adjust calling of nttools subdir in
pkg/utilities/mkpkg
(#65)Check for the existence of the
arch
variable before using it (#63)Improve prototyping in bootlib (#62)
Appended
ZTTYSZ()
function to get width and height of terminal (#58)Replace readline library by libedit on macos (#57)
Clean and fix shell scripts (#50, #51, #53, #54, #55, #75, #76, #77)
Fix variable declaration in noao/obsutil/src/findgain.cl (#47)
Remove unused empty files (#45)
Add manpages (#44)
Update cfitsio to 3.450 (#43)
votable: Fix data type of loop variable (#41)
Since 2.16.1+2018.03.10
Since 2.16.1+2018.02.04
(Pull Requests from iraf/iraf-v216)
Since 2.16.1+2017.12.28
(Pull Requests from iraf/iraf-v216)
Since 2.16.1
(Pull Requests from iraf/iraf-v216)
Check filepointer for
NULL
inenvinit
before trying to close. (#126)Add the required credits for the IRAF64 project. (#125)
Use
strncpy
andsnprintf
to fill file header in wtar (#124)Specify explicit format for
fprintf()
(#123)Limit number of
finfo
structs returned byKI_ZFINFO
toMAX_ARGS
(#122)Fix
isalnum()
and friends for non-ascii values (#121)Use curl in
pkgget
(#115)Fix comparison for some optional command line arguments in xc (#111)
Add a trailing
\0
to the end of variable format strings inpkg/tbtables/fitsio/
(#110)Fix OS dirnames in
README
(#108)Adjust f2c’s internal
integer
size for ILP64 (#107)Replace
d1mach.f
andr1mach.f
by C sources (#106)Handle negative pointers in
sys/nmemio
(#105)Remove all executables and binaries in
make src
(#104)[linux64] Correct underlines in
mem
symbol inzsvjmp.s
(#102)Correct string length of
baseurl
initialization inchkupdate.x
(#101)Fix segfault when opening a
STRING_FILE
(#100)Fix statement order in
vfn_expand_ldir
(#99)Fix linenumber generation with
xpp -x
(rpp and spp)) (#98)Fix template expansion in
generic.c
(#94)Remove VO related packages and libraries (#93,
Initialize
oscwd
inzglobl.c
(#91)Check for identical addresses before
strcpy()
inmkpkg/tok.c
(#89)Fix type of arguments for several procedure calls (#88)
Bugfix for
unix/os/gmttolst.c
andunix/zgmtco.c
(#87)Fix location of
yaccpar.x
(#84)[macosx] Fix syntax error in
readline/mkpkg
on macosx (#83)Remove absolute paths from header (#82)
Reverse the condition when iraf should be set (#81)
[macosx] Fix MacOSX min version on
zsvjmp_i386.s
(#80)Fix lex source files in xpp and generic (#79)
[macintel] Replace
setpgrp(...)
with POSIXsetpgid()
(#78)Avoid identical src/target in
strcpy()
when creating library names in xc (#77)[linux] Consequently add
-m32
flags if compiling for linux(32)) (#76)Convert to ANSI C to fix return types of functions in
memlog.c
(#75)Limit entries in bitmask to 64 bit. (#74)
Accept zero date in archives (#71)
Fix computation of offset in memory allocation at 32 bit (#67)
Fix
ADDR_TO_LOC
for i386 (32 bit)) (#62)Fix declaration of
cdsmem
in rpp (#60)Force iraf to align on 128-bit boundaries (#57)
Remove
curl/types.h
includes (#51)Fixed spelling error, “the” not “teh”. (#47)
[linux64] Call the PLT for
__sigsetjmp
instead of calling directly (#45)Removed an extra
linux64
(#44)Build vendor libs before starting the
NOVOS
build (#40)Fixed recursive error in definition of
LFLAGS
(#39)Convert
mklibs
to/bin/sh
(#38)Replace or remove non-free code (Numerical Recipes etc.)) (#37)
Add continious integration testing with travis-CI (#36)
Replace absolute symlinks in sys/osb by relative ones (#33)
Don’t remove sticky bit from /tmp on install (#24)
Fix setting of non-default IRAF root (#22)
Clean up sources from unnecessary code (#2, #14, #15, #16, #17, #18, #20, #25, #68, #69, #70, #113, #116, #117)