Skip to content

Releases: iraf-community/iraf

Version 2.18

05 Apr 06:15
c7a9515
Compare
Choose a tag to compare

Important changes

Changes to the version 2.17.1 include:

  • Integration of NOIRLab changes
    NOIRLab recently published their own 2.18 version with the scope limited to the support of the Gemini data reduction pipeline. All NOIRLab changes are bugfixes, based on NOAO version 2.16.1. They were reviewed and (if useful) integrated into the IRAF baseline.This merge also triggers the update of the major version number to be in sync with the NOIRlab version.

  • VOTable support removed
    This is a consequence of merging the changes from NOIRlab, resulting in a significant simplification of the code. If this creates significant problems to the users, we will re-add VOTable support, however.

  • Command Language start script renamed to irafcl
    As already done for years in several Linux distributions, the cl and ecl scripts are renamed to irafcl. cl and ecl often conflict with the Common Lisp executable names and require third special effort by third parties to circumvent problems. For compatibility, cl and ecl are still provided as links, but their use is deprecated. Please use irafcl instead. A man page is provided.

  • Support for the LoongArch architecture
    Support for using IRAF on the Chinese LoongArch LA64 architecture was added. Binaries will be provided as part of the Debian loong64 port.

  • Bug fixes and code cleanup
    As before, a number of bugs was fixed in this release. Cleaning up the code and modernization of the code structure continued. This is in large parts a benefit of integrating the NOIRLab changes.

Detailed list of changes

This list shows all pull requests that were merged since 2.17.1.

  • Makefile install fixes found when creating the Debian package by @olebole in #315
  • Strip more files from the installed package by @olebole in #316
  • C tweaks to make f2c compileable on Debian/mipsel by @olebole in #317
  • Fix iraf$ variable for "inplace" (personal) installation by @olebole in #318
  • Rename ecl canonical name to irafcl by @olebole in #323
  • Remove version information from CITATION.cff by @olebole in #332
  • NOIRLAB: Remove VOTable support by @olebole in #330
  • Extend (E)CL testing by @olebole in #368
  • NOIRLAB: Re-add the vtel package by @olebole in #343
  • NOIRLAB: Update observatory database by @olebole in #344
  • NOIRLAB: Clean up tbtables package by @olebole in #345
  • NOIRLAB: Force exclusion of .git directory from processing in rmbin and rmfiles by @olebole in #362
  • NOIRLAB: Remove unused variabled from nttables by @olebole in #351
  • NOIRLAB: Restore missing font data files in sys/gio/fonts by @olebole in #356
  • NOIRLAB: string buffer fix in mii_readc in "help" package by @olebole in #355
  • NOIRLAB: Potential xc/xpp string overflow fixes by @olebole in #349
  • NOIRLAB: Small fixes in IRAF system packages by @olebole in #363
  • NOIRLAB: Remove or comment out unused variables by @olebole in #352
  • NOIRLAB: Small bugfixes for libsys by @olebole in #361
  • NOIRLAB: Small "noao" package fixes by @olebole in #360
  • NOIRLAB: fixes and cleanup for the "mkpkg" tool by @olebole in #348
  • NOIRLAB: cosmetic change for the "generic" tool by @olebole in #347
  • NOIRLAB: minor libboot.a improvements by @olebole in #350
  • NOIRLAB: Improve (E)CL code internals by @olebole in #364
  • NOIRLAB: Rewrite file taken from IRAF64 by @olebole in #353
  • NOIRLAB: zzsetenv.def updates by @olebole in #365
  • NOIRLAB: several patches for libos.a by @olebole in #346
  • Use fpurge/__fpurge to cancel buffered output by @olebole in #366
  • Add support for LoongArch. by @liuxiang88 in #371
  • Update INSTALL.md typo by @JustinotherGitter in #373
  • New Github runner for Mac M1 by @olebole in #374
  • Fix problems with using f2c.e/f77.sh on plain Fortran files by @olebole in #370
  • Remove outdated options from XC by @olebole in #372
  • Provide compatibility link to mkfloat.csh by @olebole in #375
  • NOIRLAB: Don't add to helpdb var if no helpdb.mip (sqiid/upsqiid) by @olebole in #378
  • CI workflow: update actions/checkout to v4 by @olebole in #382
  • NOIRLAB: Add numerical recipes to libxtools for Noirlab compatibility by @olebole in #387
  • Allow empty IRAFARCH in irafpath() by @olebole in #388
  • Prepare version 2.18 by @olebole in #390

New Contributors

Full Changelog: v2.17.1...v2.18

Version 2.17.1

15 Jul 15:26
5c0a2a7
Compare
Choose a tag to compare

This is a minor release following the first community release 2.17. Changes to 2.17 include:

  • Installation procedure reworked

    The installation scripts are replaced with makefiles, and the build and installation procedures now use the standard targets, standard paths, and customization environment variables. The standard installation place is /usr/local/lib/iraf. On a build error the build now stops now immediately, making it easier to find the cause.

  • Fix code to enable building on latest macOS/XCode versions

    The code was adjusted to be compliant with newer (C99) C standards, and to be compileable with actual compilers.

Detailed list of changes

This list shows all pull requests that were merged since 2.17.

  • Add a machine readable citation file (#306)
  • Update f2c to latest version and document local changes (#295)
  • Ensure NULL is a pointer in SPP (#292)
  • Replace vosproto.h with prototypes from xnames.h (#284)
  • Use typedef instead of #define where applicable (#283)
  • Protoize the remaining C code (#282)
  • Restructure PFI to be used as "generic" function pointer (#281)
  • Fix a few small bugs in sys$ (#280)
  • Change a few appearances of PKCHAR (#279)
  • Replace SIGFUNC by sighandler_t (#278)
  • Create useful prototypes for kernel functions (host$os) (#277)
  • Fix several errors that appear when compiled with -std=c99 (#276)
  • Rename iraf subincludes (#275)
  • Don't add empty arguments to xc argument lists (#271)
  • Fix keyword search in envinit (#270)
  • Re-work installation process, improve user scripts (cl, mkiraf) (#268, #300, #312, #314)
  • Stop mkpkg execution if an error was discovered (#267, #287)
  • Convert make scripts (mkpkg.sh) to Makefiles (#266, #293, #301)
  • Update documentation for host commands (xc, mkpkg etc.) (#265)
  • Add old release notes as ReStructuredText (#263, #264)
  • Directly use xc.e, xyacc.e etc. from mkpkg and CL (#262)
  • Update cfitsio to version 4.2.0 (#249)
  • Fix processing onf INDEF in the "generic" preprocessor (#238)
  • Ensure the use of the extended image opening code (#236)
  • Fix a bug in the parsing of directory arguments of mkfloat (#231)
  • Fix off-by-one allocation error in sgi2uhplj.c (#207)
  • Update to new C environment (#225, #226, #302)
  • Code cleanup in host$ and sys$ (#223, #274, #290, #291, #294)

Version 2.17

04 Jan 09:06
db7d980
Compare
Choose a tag to compare

This is a IRAF version from the iraf-community organization, which is a community effort to keep IRAF availale despite of missing NOAO support. Consider contributing to report bugs, fix them, or improve the software!

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.

  • IRAF ported to other architectures

    IRAF is now ported to a number of little endian architectures (ARM, PowerPC, MIPS, x32, RISC-V64, DEC Alpha) and operating systems (GNU Hurd and FreeBSD). Mac on ARM64 (M1) is supported as well.

  • 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" (15 year old bug; 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 on Travis CI 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.[sS] 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 to mkfloat (#87)
  • Add support for the DEC Alpha processor (#79)
  • Fix and improve the shell scripts (#75, #76, #77, #85, #86)

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)
  • Update and modernize top-level information files (#64, #73)
  • 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

  • Implement the 'apropos' command (#37)
  • Don't check for updates (#36)
  • Update cfitsio to 3.440 (#34)
  • Fix background execution in cl and ecl (#32)
  • Port IRAF to several architectures (#31)

Since 2.16.1+2018.02.04

(Pull Requests from iraf/iraf-v216)

  • Update cfitsio to 3.430 (#135)
  • Fix off-by-one problem in xppcode.c (#133)
  • Remove files that were generated by generic.e or xyacc.e (#132)

Since 2.16.1+2017.12.28

(Pull Requests from iraf/iraf-v216)

  • Make photcal 64-bit capable (#130)
  • f2c: Fix allocated size of Dimblock (#127)

Since 2.16.1

(Pull Requests from iraf/iraf-v216)

Read more

Snapshot 2.16.1+2021.06.14

14 Jun 06:45
Compare
Choose a tag to compare
Pre-release

This snapshot adds support for the arm64 CPU (M1, M2) on macOS.

Snapshot 2.16.1+2018.11.01

10 Nov 17:04
cbfb215
Compare
Choose a tag to compare
Pre-release

Bugfixes, architecture support etc.

Snapshot 2.16.1+2018.06.15

01 Nov 15:36
667d7eb
Compare
Choose a tag to compare
Pre-release

This is the first IRAF snapshot within the iraf-community organization, which is a community effort to keep IRAF availale despite of missing NOAO support.

Snapshot 2.16.1+2018.03.10

13 Mar 09:24
Compare
Choose a tag to compare
Pre-release

This is based on the merge-all branch up to commit 8002d11, with the remove-VO patches (#93) also applied.

Snapshot 2.16.1+2018.02.04

08 Feb 07:50
Compare
Choose a tag to compare
Pre-release

This is based on the merge-all branch up to commit 49bcfac, with the remove-VO patches (#93) also applied.

Snapshot 2.16.1+2017.12.28

23 Jan 08:49
Compare
Choose a tag to compare
Pre-release

This is based on the merge-all branch up to commit ca63966, with the remove-VO patches (#93) also applied.

IRAF V2.16.1 Patch Release

14 Jun 07:29
Compare
Choose a tag to compare

IRAF V2.16.1 is a patch release of the IRAF v2.16 system for all supported Linux and OSX platforms. This is primarily a bug-fix release, however there are several significant updates related to the installation procedures included as part of this release.

This release is a cumulative patch of all applications and system interfaces since the initial v2.16 release.

In summary, this release contains

  • 32-bit OSX binary changes
  • Non-root installation option
  • Global login.cl/uparm
  • New task to check for system updates
  • C-shell no longer required
  • Update SLALIB version to GPL licensed version
  • Updated compiler support
  • Increased number of allowed background jobs
  • Numerous bug fixes and minor enhancements